不用寫程序也能輕松上手─DL Workbench圖形化接口工具(中)
*DL Workbench工作流程
本文引用地址:http://butianyuan.cn/article/202106/426071.htm在開始實際操作前,先大致說明一下整個DL Workbench的工作流程,方便后面理解實際操作項目,如Fig.3所示。
Fig.3 DL Workbench工作流程圖。(OmniXRI Mar.2021整理制作)
1.安裝(Install):前面已經介紹過,除了可直接一步一步安裝在計算機上,也可支持使用Docker映像方式安裝DL Workbench。另外OpenVINO也支持以Dev-Could方式安裝,方便沒有采購硬件的人,先利用Intel提供的云端測試平臺來選擇合適的硬件。
2.模型(Model):不會設計AI模型的人可通過OpenVINO內建的模型下載器(Model Downloader)選用Intel已預訓練好參數(shù)的模型(Pre-Trained Open Model Zoo),或者使用公開模型(Public)。當然也可支持自己開發(fā)并訓練好的模型。不過這里只支持Caffe,MXNet,ONNX,TensorFlow和PyTorch格式的模型轉換,最后會都轉換成OpenVINO支持的中間表示(Intermediate Representation,IR)格式模型網絡描述及權重文件(*.xml,*.bin)。
3.準備模型(Prepare Model):由于導入的模型有可能過大,因此可通過OpenVINO內建的優(yōu)化工具(Optimizer)協(xié)助處理網絡架構調整以減少計算量。另外,一般訓練好的模型參數(shù)(網絡權重)多半都是使用32位浮點數(shù)(FP32)來表示,為實現(xiàn)更好的推理效果,這里也可協(xié)助校正(Calibration),將32位浮點數(shù)(FP32)轉換到16位浮點數(shù)(FP16),甚至是8位整數(shù)(INT8)。雖然在不同場景下可能會損失幾個百分點的推理精度,但好處是參數(shù)所需內存可縮小至1/2到1/4間,而指令周期則可增加2到3倍。
4.數(shù)據(jù)集(Dataset):為了測試選用的模型,這里可以導入(Import)自行準備符合常見的公開數(shù)據(jù)集(如ImageNet,Pascal VOC,MS COCO等)格式的數(shù)據(jù)集。或者使用生成(Generate)高斯噪聲變相產生小型數(shù)據(jù)集來輔助簡易性測試,但請注意這種方式僅適用圖像分類模型測試,且因不含標注數(shù)據(jù),所以不適用精確度測量及校準工作。如果手上沒有現(xiàn)成的數(shù)據(jù)集,亦可參考官網[3]說明,下載常見的ImageNet,Pascal VOC,Microsoft COCO等公開數(shù)據(jù)集。
5.建立基準(Benchmark):準備好模型、數(shù)據(jù)集及選用欲執(zhí)行的硬件環(huán)境后,便可根據(jù)平行流(Parallel Streams)及批次數(shù)量(Batch Size)設置值開始進行推理并建立一個基準點(如Fig.4a),其內容包含產出速度(Throughout,Frame Per Second,FPS)、延遲(Latency,ms)。若不滿意推理結果,則可重新調整上述參數(shù),建立多個基準點,方便后續(xù)比較哪種組合的效果更好。
6.分析(Analyze):為了更容易理解模型每個環(huán)節(jié)的工作負擔,這里提供了許多可視化表格及圖形來幫助理解,包含模型主要執(zhí)行耗時分布(Execution Time by Layer)圓餅圖(如Fig.4b)、每一層(Layers)的結構、名稱、推理耗時、輸出精確度(如Fig.4c),模型整體網絡節(jié)點連接關系圖,模型優(yōu)化前后(IR及nGraph)的網絡結構(如Fig.4d),另外還會搭配顏色表示各節(jié)點耗時,方便后續(xù)模型建立者調整結構及進一步的參數(shù)。
7.部署(Deploy):待反復步驟5和6找到最佳效能點后,便可打包部署到實際硬件上執(zhí)行,如此就能輕松完成模型分析、優(yōu)化、部署工作。不過要注意的是這項功能目前僅提供Ubuntu(Linux)使用。
Fig.4 DL Workbench可視化工具
(a)輸出速度/延遲時間基準點圖
(b)各層運行時間圓餅圖
(c)各層信息表
(d)網絡結構圖及耗時表示
評論