七大步驟,詳解預置算法構建模型的全過程


摘要:針對有一定AI基礎的AI初學者,ModelArts基於業界的主流引擎提供了預置算法,無需關注模型開發過程,直接使用預置算法對已有數據進行訓練,並快速部署為服務。預置算法可用於物體類別和位置、圖像分類等場景。本次實驗提供了一個花卉圖像分類應用的樣例,幫助您快速熟悉使用ModelArts預置算法構建模型的過程。

此樣例針對預置的花卉圖像數據集,對已有圖像數據進行標注,然后使用預置的“ResNet_v1_50”算法對數據進行訓練,得到一個可用的模型,最后,將此模型部署為在線服務。部署完成后,用戶可通過在線服務識別輸入圖片的花卉種類。使用預置算法完成模型構建的步驟如下所示:

  • 步驟1:准備數據
  • 步驟2:訓練模型
  • 步驟3:(可選)創建可視化作業,查看模型訓練過程
  • 步驟4:導入模型
  • 步驟5:部署上線
  • 步驟6:測試服務
  • 步驟7:清除相應資源,避免產生費用

准備工作

  • 已注冊華為雲賬號,且在使用ModelArts前檢查賬號狀態,賬號不能處於欠費或凍結狀態。
  • 當前賬號已完成訪問授權的配置。如未完成,請參考使用委托授權。針對之前使用訪問密鑰授權的用戶,建議清空授權,然后使用委托進行授權。
  • 已在OBS服務中創建桶和文件夾,用於存放樣例數據集以及模型。如下示例中,請創建命名為“test-modelarts”的桶,並創建如表1所示的文件夾。
  • 創建OBS桶和文件夾的操作指導請參見創建桶新建文件夾。確保您使用的OBS目錄與ModelArts在同一區域。

步驟1:准備數據

ModelArts在公共OBS桶中提供了花卉的示例數據集,命名為“Flowers-Data-Set”,因此,本文的操作示例使用此數據集進行模型構建。您需要執行如下操作,將數據集上傳至您的OBS目錄下,即准備工作中您創建的OBS目錄“test-modelarts/dataset-flowers”。

說明:

  • 由於“Flowers-Data-Set”數據集已完成數據標注,數據集中文件格式為“.txt”是對應圖片的標注文件,因此在此操作步驟中忽略了數據標注操作。
  • 如果您想使用自己的數據集,可跳過此步驟,直接將數據上傳至OBS文件夾中,並在步驟2:訓練模型操作中直接選擇此目錄即可。如果您使用的數據集未進行標注,在創建訓練作業前請在“數據管理>數據集”頁面創建數據集並進行人工標注。
  1. 單擊數據集下載鏈接,將“Flowers-Data-Set”數據集下載至本地。
  2. 在本地,將“Flowers-Data-Set.zip”壓縮包解壓。例如,解壓至本地“Flowers-Data-Set”文件夾下。
  3. 參考上傳文件,使用批量上傳方式將“Flowers-Data-Set”文件夾下的所有文件上傳至“test-modelarts/dataset-flowers”OBS路徑下。

步驟2:訓練模型

數據准備完成后,您可以創建一個訓練作業,選用預置算法“ResNet_v1_50”,並最終生成一個可用的模型。

“ResNet_v1_50”算法基於“TensorFlow, TF-1.8.0-python2.7”引擎,其用途為圖像分類。如果您想獲取更多預置算法的介紹,您可以在“訓練作業”頁面中,單擊“預置算法”頁簽,了解ModelArts提供的算法信息,如用途、引擎類型、精度等。

1)在ModelArts管理控制台,在左側導航欄中選擇“訓練管理>訓練作業”,進入“訓練作業”管理頁面。

2)單擊“創建”,進入“創建訓練作業”頁面。

3)在“創建訓練作業”頁面,填寫相關信息,參數填寫指導請參見如下步驟。

  • “算法來源”:單擊“選擇”,從“預置算法”列表中,選擇“ResNet_v1_50”算法。
  • “數據來源”:由於導入的數據集已完成標注,因此直接從數據存儲位置導入即可。單擊“數據存儲位置”,然后單擊文本框右側的“選擇”,選擇數據集所在的OBS路徑,如“/test-modelarts/dataset-flowers/”。
  • “訓練輸出位置”:從已有的OBS桶中選擇模型和預測文件存儲路徑。使用准備工作中已創建好的“model-test”文件夾。如果沒有可用文件夾,您可以單擊“選擇”,在彈出對話框中新建文件夾。
  • “運行參數”:選擇“ResNet_v1_50”算法后,默認包含“max_epoches”參數,默認值為“100”。針對此示例,建議將“max_epoches”參數值修改為“10”,1個epoch代表整個數據集訓練一遍,此運行參數表示訓練10個epoch,“max_epoches”值越大訓練時間越長。
  • “作業日志路徑”:從已有的OBS桶中選擇日志存儲路徑。使用准備工作中已創建好的“train-log”文件夾。如果沒有可用文件夾,您可以單擊“選擇”,在彈出對話框中新建文件夾。
  • 在基本信息區域,“計費模式”和“版本”為系統自動生成,不需修改。請根據界面提示填寫“名稱”和“描述”。

圖1 填寫名稱和描述

  • 在參數配置區域,選擇“算法來源”,設置“數據來源”、“訓練輸出位置”、“運行參數”和“作業日志路徑”。

圖2 參數配置

  • 在資源設置區域,選擇“公共資源池”,同時設置“規格”和“計算節點個數”。

如果選擇使用免費規格,請仔細閱讀提示信息,然后勾選“我已閱讀並同意以上內容”。

圖3 設置使用的資源

  • 單擊“下一步”完成信息填寫。

4)在“規格確認”頁面,確認訓練作業的參數信息,確認無誤后單擊“提交”。

5)在“訓練作業”管理頁面,可以查看新建訓練作業的狀態。訓練作業的創建和運行需要一些時間,預計十幾分鍾,當狀態變更為“運行成功”時,表示訓練作業創建完成。

您可以單擊訓練作業的名稱,可進入此作業詳情頁面,了解訓練作業的“配置信息”、“日志”和“資源占用情況”等信息。在“訓練輸出位置”所在的OBS路徑中,即“/test-modelarts/model-test/”路徑,可以獲取到生成的模型文件。

圖4 訓練作業詳情

步驟3:(可選)創建可視化作業,查看模型訓練過程

目前ModelArts提供的可視化作業默認為TensorBoard類型的作業。TensorBoard是一個可視化工具,能夠有效地展示TensorFlow或MXNet在運行過程中的計算圖、各種指標隨着時間的變化趨勢以及訓練中使用到的數據信息。可視化作業當前只支持基於TensorFlow和MXNet引擎的訓練作業。

如果訓練詳情頁的詳細信息已足夠支撐您判斷模型好壞並構建模型,您可以選擇跳過此步驟,直接執行步驟4:導入模型的操作。

1)在ModelArts管理控制台,在左側導航欄中選擇“訓練管理 > 訓練作業”,然后單擊“可視化作業”頁簽進入“可視化作業”管理頁面。

2)在“可視化作業”管理頁面,單擊“創建”。

3)在“創建可視化作業”頁面,設置相關參數,然后單擊“下一步”。

可視化作業的類型默認為“可視化作業”,且不可更改。設置可視化作業的“名稱”,以及“訓練輸出位置”。“訓練輸出位置”需要設置為訓練作業中的“訓練輸出位置”,上述步驟中“訓練輸出位置”為“/test-modelarts/model-test/”。“自動停止”啟用,並設置為“1小時后”停止,避免產生不必要的費用。

圖5 設置可視化作業參數信息

4)在“規格確認”頁面,信息確認完畢后,單擊“提交”。

5)進入“可視化作業”管理頁面,等待一段時間,當可視化作業的狀態為“運行中”時,表示已創建成功。

針對運行中的可視化作業,您可以單擊可視化作業的名稱跳轉到其可視化界面。您可以通過此界面的信息,了解到此模型的具體訓練過程。如果此模型訓練過程和參數滿足要求,您可以開始執行步驟4:導入模型操作。

圖6 可視化界面

步驟4:導入模型

訓練完成的模型還是存儲在OBS路徑中,您可以將此模型導入到ModelArts中進行管理和部署。

1)在ModelArts管理控制台中,單擊左側導航欄中的“模型管理>模型”,進入“模型”頁面。

2)在“模型”頁面,單擊“導入”。

3)在“導入模型”頁面,設置相關參數,然后單擊“立即創建”。

設置模型的“名稱”和“版本”,然后在“元模型來源”參數中,選擇“從訓練中選擇”,此時系統會自動選擇您創建的訓練作業,您可以從下拉框中可以選擇系統中可用的訓練作業。由於本示例數據較簡單,其他參數采用默認值。

圖7 導入模型

4)模型導入完成后,系統將自動跳轉至模型列表頁面。您可以在模型列表頁面查看已導入的模型及其版本。

圖8 模型列表

步驟5:部署上線

模型導入完成后,當狀態顯示為“正常”時,可以將模型部署上線,可部署為“在線服務”、“批量服務”或“邊緣服務”。如下操作步驟以部署為在線服務為例。

1)在“模型管理 > 模型”頁面,單擊模型名稱左側的小三角,打開此模型下的所有版本。在對應版本所在行,單擊操作列的“部署”,然后在下拉框中選擇“在線服務”,進入“部署”頁面。

2)在“部署”頁面中,設置相關參數,然后單擊“下一步”。

設置在線服務的“名稱”,將“是否自動停止”功能啟用。在“選擇模型及配置”區域中,系統將自動選擇步驟4:導入模型中的模型及其版本,在“計算節點規格”右側下拉框中選擇使用的資源,本示例選用“CPU:2核 8GiB”資源部署在線服務。其他參數使用默認值。

“數據采集”和“難例篩選”功能,建議使用默認值,保持關閉。

圖9 部署為在線服務

3)在“規格確認”頁面,確認信息完畢后,單擊“提交”。

4)在“部署上線 > 在線服務”頁面,您可以查看在線服務的相關信息。由於模型部署上線需要花費一些時間,請耐心等待幾分鍾。當在線服務的狀態為“運行中”時,表示在線服務已部署完成。

步驟6:測試服務

  1. 在線服務部署成功后,您可以進入在線服務,發起預測請求進行測試。
  2. 在“在線服務”管理頁面,單擊在線服務名稱,進入在線服務詳情頁面。
  3. 在線服務詳情頁面中,單擊“預測”頁簽,進入預測頁面。
  4. 在“選擇預測圖片文件”右側,單擊“上傳”按鈕,上傳一張帶花的圖片,然后單擊“預測”。
  5. 預測完成后,預測結果顯示區域將展示預測結果,根據預測結果得分,可識別出此圖片的花為“daisy”。

說明:由於此處是測試服務,為保證測試效果,建議選擇圖片時,不要使用示例數據集中已有的圖片。

圖10 預測結果

步驟7:清除相應資源,避免產生費用

為避免產生不必要的費用,在完成試用后,建議您刪除相關資源,如在線服務、可視化作業、訓練作業、數據及其OBS目錄。

  • 刪除在線服務:在“在線服務”頁面,單擊操作列的“更多>刪除”。
  • 刪除可視化作業:在“訓練作業>可視化作業”頁面,單擊操作列的“刪除”。
  • 刪除訓練作業:在“訓練作業”頁面,單擊操作列的“刪除”。
  • 刪除數據:前往OBS,刪除上傳的數據,然后刪除文件夾及OBS桶。
本文分享自華為雲社區《使用預置算法構建模型初體驗》,原文作者:運氣男孩 。

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM