模型量化
模型量化提供主流的模型量化算法,您可以使用模型量化對模型進行壓縮提速,實現(xiàn)高性能推理。本文為您介紹模型量化的參數(shù)配置和使用示例。
前提條件
已開通OSS并完成授權(quán),詳情請參見開通OSS服務(wù)和云產(chǎn)品依賴與授權(quán):Designer。
功能限制
僅Designer提供該算法組件。
支持的計算引擎為DLC。
如果上游組件接入了圖像檢測訓(xùn)練組件,則該組件配置的模型參數(shù)和數(shù)據(jù)集需要和圖像檢測訓(xùn)練組件保持一致。
可視化配置組件參數(shù)
輸入樁
輸入樁(從左到右)
限制數(shù)據(jù)類型
建議上游組件
是否必選
輸入模型
OSS
否
訓(xùn)練數(shù)據(jù)
OSS
讀OSS數(shù)據(jù)組件
是
測試數(shù)據(jù)
OSS
讀OSS數(shù)據(jù)組件
是
類別列表文件
OSS
讀OSS數(shù)據(jù)組件
是
組件參數(shù)
頁簽
參數(shù)
描述
字段設(shè)置
訓(xùn)練模型類型
訓(xùn)練模型的類型,取值如下:
YOLOX
YOLOX_EDGE
默認為YOLOX_EDGE。
訓(xùn)練所用oss目錄
訓(xùn)練過程中模型和Log保存的OSS路徑。
訓(xùn)練數(shù)據(jù)oss路徑
存放訓(xùn)練數(shù)據(jù)文件的OSS路徑,如果您使用讀OSS數(shù)據(jù)組件作為上游節(jié)點,則該參數(shù)無需設(shè)置。
訓(xùn)練集標注結(jié)果文件路徑
存放訓(xùn)練集標注結(jié)果文件的OSS路徑。
評估數(shù)據(jù)oss路徑
存放測試數(shù)據(jù)文件的OSS路徑,如果您使用讀OSS數(shù)據(jù)組件作為上游節(jié)點,則該參數(shù)無需設(shè)置。
測試集標注結(jié)果文件路徑
存放測試集標注結(jié)果文件的OSS路徑。
類別列表文件oss路徑
存放數(shù)據(jù)類別列表文件的OSS路徑,如果您使用讀OSS數(shù)據(jù)組件作為上游節(jié)點,則該參數(shù)無需設(shè)置。
YOLOX數(shù)據(jù)源格式
數(shù)據(jù)的處理格式,取值如下:
COCO格式
PAI標注格式
默認值為COCO格式。
預(yù)訓(xùn)練模型oss路徑
存放預(yù)訓(xùn)練模型的OSS路徑,導(dǎo)入預(yù)訓(xùn)練模型的權(quán)重文件。非必填。
參數(shù)設(shè)置
YOLOX端檢測模型類型
僅字段設(shè)置中訓(xùn)練模型類型選擇YOLOX_EDGE時,需要配置該參數(shù)。
YOLOX端檢測模型的預(yù)置類型,默認為yolox-customized。
YOLOX檢測模型使用的模型大小
僅字段設(shè)置中訓(xùn)練模型類型選擇YOLOX時,需要配置該參數(shù)。
數(shù)據(jù)源格式取值如下:
yolox-s
yolox-m
yolox-l
yolox-x
默認為yolox-s。
yolox端模型depth
僅字段設(shè)置中訓(xùn)練模型類型選擇YOLOX_EDGE時,需要配置該參數(shù)。
yolox端模型depth,浮點型,默認為1.0。范圍為[0.01,1.0]。
yolox端模型width
僅字段設(shè)置中訓(xùn)練模型類型選擇YOLOX_EDGE時,需要配置該參數(shù)。
yolox端模型width,浮點型,默認為1.0。范圍為[0.01,1.0]。
YOLOX端檢測模型激活函數(shù)類型
僅字段設(shè)置中訓(xùn)練模型類型選擇YOLOX_EDGE時,需要配置該參數(shù)。
YOLOX端檢測模型激活函數(shù)類型,取值如下:
relu
lrelu
silu
hsilu
默認為relu。
測試置信度:[0.01,1.0]
僅字段設(shè)置中訓(xùn)練模型類型選擇YOLOX_EDGE時,需要配置該參數(shù)。
測試置信度,浮點型,默認為0.01。范圍為[0.01,1.0]。
nms閾值:[0.01,1.0]
僅字段設(shè)置中訓(xùn)練模型類型選擇YOLOX_EDGE時,需要配置該參數(shù)。
nms閾值,浮點型,默認為0.65。范圍為[0.01,1.0]。
檢測類別數(shù)目
檢測類別數(shù)目。
圖像尺度
用于YOLOX,圖片縮放后的尺度,分別表示高和寬,默認為640 640。
初始學(xué)習(xí)率
模型訓(xùn)練的初始學(xué)習(xí)率,浮點型,默認為0.01。
訓(xùn)練batch_size
訓(xùn)練batch_size,默認為16。
評估batch_size
評估batch_size,默認為1。
總的訓(xùn)練迭代epoch輪數(shù)
總的訓(xùn)練迭代epoch輪數(shù),默認為20。
warmup epochs
采用warmup學(xué)習(xí)策略時的迭代輪數(shù),默認為5。
最后穩(wěn)定lr的epochs
采用warmup學(xué)習(xí)策略lr穩(wěn)定后繼續(xù)訓(xùn)練的迭代輪數(shù),默認為5。
保存checkpoint的頻率
保存checkpoint的頻率,以epoch為單位, 表示每過一遍訓(xùn)練數(shù)據(jù)保存一次checkpoint,默認為1。
執(zhí)行調(diào)優(yōu)
讀取訓(xùn)練數(shù)據(jù)線程數(shù)
讀取訓(xùn)練數(shù)據(jù)的線程數(shù)。
單機或分布式(MaxCompute/DLC)
組件運行的引擎。系統(tǒng)會根據(jù)您設(shè)置的訓(xùn)練模型類型,自動匹配。
worker個數(shù)
采用分布式訓(xùn)練時的機器數(shù)量,默認為1。
gpu機型選擇
選擇運行的GPU規(guī)格,默認為8vCPU+32GB Mem+1xv100-ecs.gn6v-c8g1.2xlarge。
使用示例
您可以使用模型量化組件構(gòu)建如下工作流。本示例中,您需要按照以下流程配置組件:
通過PAI提供的智能標注模塊進行數(shù)據(jù)標注,詳情請參見智能標注(iTAG)。
使用讀OSS數(shù)據(jù)-1、讀OSS數(shù)據(jù)-2和讀OSS數(shù)據(jù)-3組件分別讀取訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集和數(shù)據(jù)類別列表文件。即配置讀OSS數(shù)據(jù)組件的OSS數(shù)據(jù)路徑參數(shù)為存放訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集和數(shù)據(jù)類別列表文件的OSS路徑。
通過圖像檢測訓(xùn)練組件構(gòu)建目標檢測模型。
使用讀OSS數(shù)據(jù)-4、讀OSS數(shù)據(jù)-5和讀OSS數(shù)據(jù)-6組件分別讀取訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集和數(shù)據(jù)類別列表文件。即配置讀OSS數(shù)據(jù)組件的OSS數(shù)據(jù)路徑參數(shù)為存放訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集和數(shù)據(jù)類別列表文件的OSS路徑。
將目標檢測模型、訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集和數(shù)據(jù)類別列表文件接入模型量化組件,并配置具體參數(shù),詳情請參見上文的可視化配置組件參數(shù)。