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