通過DLC、DSW 和 NAS 組合,基於 PyTorch 完成離線遷移學習訓練。適用於通用計算資源公用資源群組工作叢集。
前提條件
選擇合適的地區,建立通用型NAS檔案系統,詳情請參見通過控制台建立通用型NAS檔案系統。
使用限制
本文的操作僅支援通用計算資源公用資源群組的工作叢集。
步驟一:建立資料集
步驟二:建立DSW執行個體
建立DSW開發機執行個體,並配置以下關鍵參數,其他參數配置詳情,請參見建立DSW執行個體。
參數 | 描述 | |
环境信息 | 数据集挂载 | 單擊自定义数据集,選擇步驟一建立的NAS類型資料集,並將掛載路徑 |
工作目录 | 選擇 | |
网络信息 | 专有网络配置 | 無需配置專用網路。 |
步驟三:準備資料
本文使用的資料已經存放在公開地址,您可以直接下載(下載資料),解壓後即可使用。
進入DSW開發環境。
登入PAI控制台
在左側導覽列單擊工作空间列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應工作空間內。
在頁面左上方,選擇使用服務的地區。
在左側導覽列,選擇。
可選:在交互式建模(DSW)頁面的搜尋方塊,輸入執行個體名稱或關鍵字,搜尋執行個體。
單擊需要開啟的執行個體操作列下的打开。
在DSW開發環境的頂部功能表列,單擊Notebook頁簽。
下載資料。
單擊左上方工具列中的
表徵圖,建立檔案夾(例如pytorch_transfer_learning)。在DSW開發環境的頂部功能表列,單擊终端頁簽,即可開啟Terminal。
在Terminal中,使用
cd命令進入已建立的檔案夾,並通過wget命令下載資料集,如下所示。cd /mnt/workspace/pytorch_transfer_learning/ wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz其中
https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz為資料集下載地址。~/workspace> cd pytorch_transfer_learning/ ~/workspace/pytorch_transfer_learning> wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz --2021-01-28 10:55:55-- https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz Resolving pai-public-data.oss-cn-beijing.aliyuncs.com (pai-public-data.oss-cn-beijing.aliyuncs.com)... Connecting to pai-public-data.oss-cn-beijing.aliyuncs.com (pai-public-data.oss-cn-beijing.aliyuncs.com)|xxx|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 47237380 (45M) [application/x-gzip] Saving to: 'data.tar.gz' data.tar.gz 100%[=======================================================================>] 45.05M 16.0MB/s in 2.8s 2021-01-28 10:55:58 (16.0 MB/s) - 'data.tar.gz' saved [47237380/47237380] ~/workspace/pytorch_transfer_learning> ls data.tar.gz hol-transfer_learning_tutorial.py input LICENSE main.py output README.md ~/workspace/pytorch_transfer_learning>使用
tar -xf ./data.tar.gz命令解壓資料集。切換到Notebook頁簽,在左側分類樹,進入目錄pytorch_transfer_learning中,按右鍵已解壓的資料檔案夾(hymenoptera_data),在捷徑功能表中,單擊Rename將該檔案重新命名為input,以便後續操作。
步驟四:準備訓練代碼和模型隱藏檔夾
在DSW執行個體的Terminal中,使用
wget命令將訓練代碼下載到pytorch_transfer_learning檔案夾下。cd /mnt/workspace/pytorch_transfer_learning/ wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.py其中
https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.py表示訓練代碼儲存地址。在pytorch_transfer_learning檔案夾下,建立名為output的檔案夾,用於儲存訓練完成的模型。
mkdir output查看pytorch_transfer_learning檔案夾的內容。
檔案夾下包括如下檔案:
input:訓練資料檔案夾。
main.py:訓練代碼。
output:模型隱藏檔夾。
步驟五:建立任務
登入PAI控制台,在頁面上方選擇目標地區,並選擇目標工作空間,然後單擊进入DLC。
在分布式訓練(DLC)頁面,單擊新建任务。
在新建任务頁面,配置如下參數。
參數
描述
基本信息
任务名称
深度學習訓練的任務名稱。
环境信息
镜像配置
選擇官方镜像 ,並選擇PyTorch鏡像。例如:選擇
pytorch-training:1.12-gpu-py39-cu113-ubuntu20.04。数据集挂载
單擊自定义数据集,並選擇步驟一建立的NAS類型資料集。
启动命令
配置為
python /mnt/data/pytorch_transfer_learning/main.py -i /mnt/data/pytorch_transfer_learning/input -o /mnt/data/pytorch_transfer_learning/output。三方库配置
選擇三方库列表,並在下方文字框中輸入以下內容。
numpy==1.16.4 absl-py==0.11.0代码配置
無需配置。
资源信息
资源来源
選擇公共资源。
框架
選擇PyTorch。
任务资源
選擇一台合適的伺服器。例如:资源规格選擇CPU下的ecs.g6.xlarge,节点数量配置為1。
單擊确定。
步驟六:查看任務詳情和日誌結果
在分布式训练(DLC)頁面,單擊任務名稱。
在任務概覽頁面,即可查看任務的基本資料及資源資訊等。
在任務概覽頁面底部的实例地區,單擊目標執行個體操作列下的日志,即可查看日誌結果。
日誌結果如下所示。
Epoch 5/9 ---------- train Loss: 0.4959 Acc: 0.7951 val Loss: 0.2213 Acc: 0.9150 Epoch 6/9 ---------- train Loss: 0.6845 Acc: 0.7664 val Loss: 0.5303 Acc: 0.8301 Epoch 7/9 ---------- train Loss: 0.4233 Acc: 0.8156 val Loss: 0.2569 Acc: 0.9150 Epoch 8/9 ---------- train Loss: 0.4147 Acc: 0.8443 val Loss: 0.2397 Acc: 0.9346 Epoch 9/9 ---------- train Loss: 0.3133 Acc: 0.8770 val Loss: 0.2333 Acc: 0.9346 Training complete in 3m 50s Best val Acc: 0.934641