如果您的業務情境涉及度量學習,則可以通過映像度量學習訓練(raw)組件構建度量學習模型,從而進行模型推理。本文為您介紹映像度量學習訓練(raw)組件的配置方法和使用樣本。
前提條件
已開通OSS並完成授權,詳情請參見開通OSS服務和雲產品依賴與授權:Designer。
功能限制
支援的計算引擎為DLC。
演算法簡介
映像度量學習訓練(raw)組件提供了resnet50、resnet18、resnet34、resnet101、swint_tiny、swint_small、swint_base、vit_tiny、vit_small、vit_base、xcit_tiny、xcit_small和xcit_base等主流模型。
可視化配置組件
輸入樁
輸入樁(從左至右)
限制資料類型
建議上遊組件
是否必選
訓練資料標註檔案
OSS
否
評估資料標註檔案
OSS
否
組件參數
頁簽
參數
是否必選
描述
預設值
欄位設定
度量學習模型類型
是
訓練模型使用的演算法類型,支援以下取值:
資料並行的度量學習
模型並行的度量學習
資料並行的度量學習
儲存訓練輸出的oss目錄
是
儲存訓練模型的OSS目錄,比如:
oss://examplebucket/yun****/designer_test
。無
訓練資料標註結果檔案路徑
否
如果您沒有通過輸入樁配置訓練資料標註檔案,則需要配置該參數。
說明如果您同時通過輸入樁和該參數配置了訓練資料標註檔案,則優先使用輸入樁配置的資料。
訓練資料標註檔案所在的OSS路徑,比如:
oss://examplebucket/yun****/data/imagenet/meta/train_labeled.txt
。其中train_labeled.txt檔案每行的儲存格式為:
絕對路徑/圖片名稱.jpg label_id
。重要圖片存放路徑和label_id之間使用空格分隔。
無
驗證資料標註結果檔案路徑
否
如果您沒有通過輸入樁配置評估資料標註檔案,則需要配置該參數。
說明如果您同時通過輸入樁和該參數配置了驗證資料標註檔案,則優先使用輸入樁配置的資料。
驗證資料標註檔案所在的OSS路徑,比如:
oss://examplebucket/yun****/data/imagenet/meta/val_labeled.txt
。其中val_labeled.txt檔案每行的儲存格式為:
絕對路徑/圖片名稱.jpg label_id
。重要圖片存放路徑和label_id之間使用空格分隔。
無
類別名稱列表檔案
否
支援直接寫入類別名稱,或設定為存有類別名稱的txt檔案所在的OSS路徑。
無
資料來源格式
是
輸入資料的格式類型,支援ClsSourceImageList和ClsSourceItag。
ClsSourceImageList
預訓練模型oss路徑
否
如果您有自己的預訓練模型,則將該參數配置為預訓練模型的OSS路徑。如果沒有配置該參數,則使用PAI提供的預設預訓練模型。
無
參數設定
度量學習模型使用的backbone
是
選擇使用的主流模型,支援以下取值:
resnet_50
resnet_18
resnet_34
resnet_101
swin_transformer_tiny
swin_transformer_small
swin_transformer_base
resnet50
圖片resize大小
是
圖片調整後的大小,單位為像素。
224
bachbone輸出的特徵維度
是
設定主流模型輸出的特徵維度,整數。
2048
特徵輸出的特徵維度
是
設定Neck輸出的特徵維度,整數。
1536
訓練資料分類標註的類別數目
是
度量學習設定的輸出維度數目。
無
度量學習模型使用的損失函數
是
損失函數用來評估訓練模型預測值與真實值不一致的程度。支援以下取值:
AMSoftmax推薦參數margin 0.4 scale 30
ArcFaceLoss推薦參數margin 28.6 scale 64
CosFaceLoss推薦參數margin 0.35 scale 64
LargeMarginSoftmaxLoss推薦參數margin 4 scale 1
SphereFaceLoss推薦參數margin 4 scale 1
基於模型並行的AMSoftmax可隨著GPU數目擴充分類上線
基於模型並行的Softmax可隨著GPU數目擴充分類上限
AMSoftmax推薦參數margin 0.4 scale 30
度量學習損失函數參數scale
是
根據度量學習使用的損失函數設定。
30
度量學習損失函數參數margin
是
根據度量學習使用的損失函數設定。
0.4
度量學習損失函數權重
否
損失函數的權重值,用來權衡度量和分類的最佳化比例。
1.0
最佳化方法
是
訓練模型使用的最佳化方法,支援以下取值:
SGD
AdamW
SGD
初始學習率
是
初始學習率大小,浮點類型。
0.03
訓練batch_size
是
訓練的批大小,即模型訓練過程中,每次迭代(每一步)訓練的樣本數量。
無
總的訓練迭代epoch輪數
是
所有樣本訓練完成一輪表示一個epoch。總的epoch輪數表示所有樣本共訓練多少輪。
200
儲存checkpoint的頻率
否
儲存模型檔案的頻率。取值為1表示1個epoch訓練完成後儲存一次模型。
10
執行調優
讀取訓練資料線程數
否
讀取訓練資料的進程數量。
4
開啟半精度
否
選中該參數,表示使用半精度進行模型訓練,用來降低記憶體佔用。
無
單擊或分布式(MaxCompute/DLC)
是
組件啟動並執行引擎,您可以結合實際情況選擇。系統支援以下計算引擎:
單機DLC
分布式DLC
單機DLC
worker個數
否
當運行引擎為分布式DLC時,需要配置該參數。
訓練過程中,並發的進程(worker)數量。
1
gpu機型選擇
是
選擇啟動並執行GPU規格。
8vCPU+60GB Mem+1xp100-ecs.gn5-c8g1.2xlarge
使用樣本
您可以使用映像度量學習訓練(raw)組件構建如下工作流程。本樣本中,您需要按照以下流程配置組件:
準備資料,通過PAI提供的智能標註模組進行資料標註,詳情請參見智能標註(iTAG)。
使用讀OSS資料-4和讀OSS資料-5組件分別訓練資料標註結果檔案和驗證資料標註結果檔案,即配置讀OSS資料組件的OSS資料路徑參數為存放訓練資料標註結果檔案和驗證資料標註結果檔案的OSS路徑。
將以上2個讀OSS資料組件接入映像度量學習訓練(raw)組件,並配置具體參數,詳情請參見上文的可視化配置組件。