概述
MobileNetsV2是基於一個流線型的架構,它使用深度可分離的卷積來構建輕量級的深層神經網,此模型基於 MobileNetV2: Inverted Residuals and Linear Bottlenecks 中提出的模型結構實現。可以用圖像分類任務,比如貓狗分類、花卉分類等等。用戶提供一系列帶有標注的數據集,該算法會載入在ImageNet-1000上的預訓練模型,在用戶數據集上做遷移學習。訓練后生成的模型可直接在ModelArts平台部署為在線服務或批量服務,同時支持使用CPU、GPU或Ascend 310進行推理。(以上介紹來自ModelArts AI 市場算法介紹)
注意:需要用到ModelArts和OBS桶,建議提前購買相應資源或代金券,或使用免費規格,但OBS是要花錢的。
准備數據集
這里使用的是花卉數據集,共3669張花卉圖片,5個種類,數據集下載地址http://download.tensorflow.org/example_images/flower_photos.tgz (數據集來自自博主張震宇的博客中所提供的數據集,在這里感謝大佬,附上大佬博客鏈接https://bbs.huaweicloud.com/blogs/158092,里面描述的很詳細,建議可以看一下,學習學習,以下的上傳數據集方法也來自該博客)
下載解壓后,進入flower_photos目錄,里面有5個子目錄
這里要把flower_photos這個文件夾,也就是上面五個文件的上一級文件夾上傳到OBS(華為雲對象存儲服務),建議使用OBS Browser工具上傳。OBS Browser下載:https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html
上傳好了之后,回到ModelArts首頁,點擊左側“數據管理”->“數據集”,然后點擊“創建數據集”
然后先在“數據集輸入位置”和“數據集輸出位置”選擇2個OBS上的文件夾(文件夾要自己創建,必須是空文件夾),剩下的部分默認就行,之后點擊右下角創建即可。
回到“數據管理”->“數據集”界面,點擊剛才創建的數據集
點擊數據集,進入數據集界面,選擇右上角的導入
點擊導入后,選擇最開始上傳數據集的路徑,就是選擇flowers_photos文件夾。
選擇之后需要等待一會,可能你會看到導入仍然是0,不要着急,等一下。當看到如下情況,表示導入完成了,接下來就可以發布數據集了。
同樣,點擊數據集,進入剛才導入的界面,選擇右上角的發布
這里選擇8:2的比例划分訓練集和測試集。點擊確定即可。等待數據集創建完成。
下面開始訓練,這里首先要到AI市場,訂閱算法,放心,是免費的,點擊鏈接進入算法訂閱 https://console.huaweicloud.com/modelarts/?region=cn-north-4#/aiMarket/aiMarketModelDetail/overview?modelId=0470e6b1-923b-47a8-ba3e-fe93de5ae2a0&type=algo
點擊訂閱,按照彈出的界面確認即可。
訂閱之后,還要配置同步算法,點擊應用控制台
好了,算法和數據已經有了,下面開始執行訓練吧,選擇創建訓練作業。
這里選擇我們剛才創建的數據集和對應版本號就行,這里我用的是以前創建的數據集,所以數據集名稱和版本號和前面創建的不一樣,你選擇自己剛才創建的就好,同時,還要創建一個空文件夾存放訓練輸出,至於訓練日志,可以不選擇存放路徑。
還要選訓練規格,如果沒有代金券的話,選擇免費版本
最后,選擇下一步即可。
可能有幾個確認選擇,最后可得到
接下來等訓練完成就行了,至於訓練中更加詳細的介紹,可以參考算法訂閱界面的介紹,自己設定參數。
這個訓練大概17min完成,還是挺快的。接下來,導入模型。
前面的訓練作業名稱是隨機的,選擇就好,應該選擇導入后,自動選擇的就是剛才訓練的了。點擊右下角的立即創建,等待導入。
顯示正常,表示成功了,下面開始線上部署。
默認是使用CPU部署推理的,當然選擇GPU和Ascend也可以,可參考算法頁面的介紹。
這里以CPU為例。單擊部署,選擇在線部署。
選擇免費的CPU體驗規格就行了
選擇下一步,確認,得到
下面選擇預測——>上傳——>預測即可。
最后,看看效果,還不錯。
以上就是基於ModelArts AI市場算法MobileNet_v2實現花卉分類的實踐內容。是不是很簡單,趕快來試一下吧。