您好,登錄后才能下訂單哦!
基于函數計算如何實現建立一個TensorFlow ServerlessAI平臺,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
基于函數計算建立一個TensorFlow Serverless AI推理平臺。
函數計算 Function Compute 是事件驅動的全托管計算服務。使用函數計算,您無需采購與管理服務器等基礎設施,只需編寫并上傳代碼。函數計算為您準備好計算資源,彈性地可靠地運行任務,并提供日志查詢、性能監控和報警等功能。函數計算幫助您無需管理服務器(Serverless),僅專注于函數代碼就能快速搭建應用。函數計算能夠彈性地伸縮,您只需要按使用量付費。 優勢總結:基于函數計算進行 AI 推理等 CPU 密集型的主要優勢 1.上手簡單, 只專注業務邏輯開發, 極大提高工程開發效率。
自建方案有太多學習和配置成本,如針對不同場景,ESS 需要做各種不同的參數配置 系統環境的維護升級等。 2. 免運維,函數執行級別粒度的監控和告警。
3.毫秒級彈性擴容,保證彈性高可用,同時能覆蓋延遲敏感和成本敏感類型。
4.在 CPU 密集型的計算場景下, 通過設置合理的組合計費模式, 在如下場景中具有成本優勢:
請求訪問具有明顯波峰波谷, 其他時間甚至沒有請求 有一定穩定的負載請求, 但是有部分時間段請求量突變劇烈
場景將介紹使用函數計算產品部署深度學習 AI 推理平臺的最佳實踐,基于函數計算 Function Compute。
讓人工智能領域開發者可以更專注于算法模型的訓練與業務邏輯的開發,將計算集群的運維工作交給函數計算,提高工作效率。
最終效果: 通過上傳一個貓或狗的照片, 識別出這個照片里面的動物是貓還是狗。DEMO 示例效果入口: http://sz.mofangdegisn.cn。
ECS資源地址:https://developer.aliyun.com/adc/scenario/35a73acbb9cb477e8a4a5b22021f23a9 參考文章步驟鏈接ECS
在使用函數計算前,您需要在阿里云產品詳情頁開通服務。
Fun 是一個用于支持Serverless應用部署的工具,能幫助您便捷地管理函數計算、API 網關和日志服務等資源。它通過一個資源配置文件(template.yml),協助您進行開發、構建和部署操作。 1.將Fun的安裝包下載到本地。請將下面的FUN_VERSION變量的值設置為最新版本號,最新版本號請參見Releases。以下操作將在ECS服務器上安裝和配置Fun。
FUN_VERSION="v3.6.1" curl -o fun-linux.zip https://gosspublic.alicdn.com/fun/fun-$FUN_VERSION-linux.zip
2.安裝解壓工具unzip,并使用unzip將下載的Fun安裝包解壓到當前目錄。
yum -y install unzip unzip fun-linux.zip
3.將解壓出來的可執行文件移動到系統路徑。
mv fun-*-linux /usr/local/bin/fun
4.配置Fun關聯的阿里云賬號和調用SDK的超時時間等信息。
fun config
請參考以下信息輸入您的阿里云賬號ID、AccessKeyID和AccessKey密鑰等信息。
Aliyun Account ID:子用戶名稱中@符號后面部分就是給您分配的主賬號ID,例如u-zftb79nc@105997185439中包含的賬號ID為105997185439。
Aliyun Access Key ID和Aliyun Access Key Secret:請使用平臺提供給您的子賬號AK ID和AK Secret。
The timeout in seconds for each SDK client invoking:建議將超時時間設置長一點(例如10000),防止在上傳部署包時發生超時中斷。 正確設置如下所示:
1.安裝Docker的依賴庫。
yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加docker-ce的軟件源信息。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安裝docker-ce。
yum makecache fast yum -y install docker-ce
4.啟動Docker服務。
systemctl start docker
1.登錄NAS控制臺。 2.選擇文件系統 > 文件系統列表。 3.在左上角選擇云資源所在地域。 4.找到體驗頁面左側資源信息欄中的NAS文件系統ID對應的文件系統,單擊更多 > 添加掛載點。 5.在添加掛載點頁面,配置如下參數。 6.查看掛載點地址,如下圖。
1.安裝Git工具并使用Git克隆項目代碼到本地。
yum -y install git git clone https://github.com/awesome-fc/cat-dog-classify.git
2.編輯項目中FUN的部署模板文件template.yml,修改日志服務項目名稱和NAS存儲掛載配置。 a.使用vim打開模板文件。
cd cat-dog-classify vim template.yml
b.輸入以下命令全局替換日志服務項目名稱。
:%s/log-ai-pro/log-ai-test/g
命令中log-ai-test為修改后的項目名稱,您可以替換為您的自定義項目名稱。
c.修改NAS掛載配置。默認auto方式將會自動創建NAS文件系統,這里我們修改填寫為平臺預創建好的NAS文件系統的信息。
VpcConfig: VpcId: 'vpc-uf6u8*****zf1r4' VSwitchIds: [ 'vsw-uf6******038fy' ] SecurityGroupId: 'sg-uf6e******w6qz' NasConfig: UserId: 10003 GroupId: 10003 MountPoints: - ServerAddr: '33****u83.cn-shanghai.nas.aliyuncs.com:/' MountDir: '/mnt/auto'
修改的參數說明如下:
VpcConfig中的VpcId、VSwitchId和SecurityGroupId信息請到ECS控制臺的實例詳情頁查看。
ServerAddr的值修改為步驟三中的掛載點地址。 修改后如下圖所示:
1.執行以下命令初始化NAS。
fun nas init
2.查看本地NAS的目錄位置。
fun nas info
命令輸出如下所示:
3.執行以下命令安裝相關依賴。
fun install -v
命令執行成功結果如下所示。
該命令將根據Funfile文件中的定義:
將依賴下載到.fun/nas/auto-default/classify/python目錄中。
將model中的模型文件拷貝到.fun/nas/auto-default/classify/model/目錄中。 4.將本地NAS目錄同步到阿里云NAS存儲中。
fun nas sync
命令執行結果如下所示。 說明 同步的文件有700M左右,內容較多,同步時間約40分鐘左右,請耐心等待。
5.查看文件是否上傳到遠程NAS目錄。
fun nas ls nas://classify:/mnt/auto/
執行以下操作將函數部署到函數計算平臺:
fun deploy -y
執行結果如下圖所示,圖中19176540-18576685985*****.test.functioncompute.com為函數計算平臺分配的臨時域名,有效期10天,每天有1000次的調用限制。 如果部署時出現如下錯誤信息。 問題原因:模板配置文件中定義的日志項目名稱已存在。 解決方法:請修改template.yml文件中日志項目名稱。
1.部署完成后,等待30秒鐘左右,在瀏覽器打開臨時域名,如下圖所示。 如果訪問頁面時出現類似下面引入模塊錯誤。 問題原因:由于網絡問題,NAS同步內容不完整。 解決方法:請重新執行命令fun nas sync。
2.上傳一張貓或狗的圖片。 3.單擊Predict按鈕,查看預測識別結果。 函數計算具有動態伸縮的特性, 根據并發請求量,自動彈性擴容出執行環境來執行環境。當預留的實例不能滿足調用函數的請求時, 函數計算就自動進行按需擴容實例供函數執行,此時的調用就有冷啟動的過程。
看完上述內容,你們掌握基于函數計算如何實現建立一個TensorFlow ServerlessAI平臺的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。