五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【CANN訓(xùn)練營-模型部署入門】【CANN訓(xùn)練營0基礎(chǔ)贏滿分秘籍】Yolov5 模型部署課堂筆記

2023-04-23 12:41 作者:白子不擺爛版  | 我要投稿

2023 · CANN訓(xùn)練營第一季:310的Yolov5 模型部署全流程課堂筆記

課程例程實(shí)現(xiàn)目標(biāo):

使用yolov5模型實(shí)現(xiàn)目標(biāo)檢測(cè) YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)主要包含3個(gè)部分,分別是骨干網(wǎng)絡(luò)、特征融合網(wǎng)絡(luò)和頭網(wǎng)絡(luò) 基于python的Yolov5例程中,樣例的實(shí)現(xiàn)主要分為三個(gè)部分:

部署實(shí)現(xiàn)步驟:?

1.模型導(dǎo)出后轉(zhuǎn)換?

模型訓(xùn)練完成后會(huì)產(chǎn)生pt文件,而昇騰310可以加載的模型格式為om,轉(zhuǎn)換步驟如下:

.pt轉(zhuǎn)換為.onnx?

torch.onnx.export(?

model,#(torch.nn.Module)要導(dǎo)出的模型?

im,#模型的輸入:非Tensor參數(shù)將被硬編碼到模型中,tensor參數(shù)成為導(dǎo)出模型的輸入, 并按照輸入順序進(jìn)行輸入?

f, #導(dǎo)出的onnx文件名?

verbose=False, #log輸出模型的描述?

opset_version=opset,#onnx算子集標(biāo)本?

training=torch.onnx.TrainingMode.TRAINING if train else torch.onnx.TrainingMode.EVAL,#在訓(xùn)練模式還是推理模式下導(dǎo)出模型?

do_constant_folding=not train,#是否進(jìn)行常量折疊優(yōu)化?

input_names=['images'],#輸入張量的名稱?

output_names=['output'],#輸出張量的名稱?

dynamic_axes={'images': {0: 'batch', 2: 'height', 3: 'width'}, # shape(1,3,640,640)

'output': {0: 'batch', 1: 'anchors'} # shape(1,25200,85)?

} if dynamic else None#指定輸入輸出張量的哪些維度為動(dòng)態(tài)

2.將導(dǎo)出的模型進(jìn)行后處理?

運(yùn)用YoloPreDetection和YoloV5DetectionOutput算子

3.使用ATC工具,將onnx模型轉(zhuǎn)成om模型,如果是C++的應(yīng)用,可在ATC中需添加AIPP

以下為部分重要參數(shù):

Python版本的官方樣例中:

預(yù)處理部分:

使用opencv/和numpy實(shí)現(xiàn)預(yù)處理:按照需要轉(zhuǎn)換RGB格式,并進(jìn)行數(shù)據(jù)歸一化(/255),圖像增強(qiáng)等操作

優(yōu)化后的C++API下的部署,使用ATC工具配置AIPP(可參考昇騰社區(qū)的AIPP模板進(jìn)行配置)

在AI core中進(jìn)行圖像預(yù)處理,實(shí)際上就是在模型輸入上多加一個(gè)算子,把預(yù)處理放在NPU上進(jìn)行


代碼部分單獨(dú)做一篇詳細(xì)筆記


【CANN訓(xùn)練營-模型部署入門】【CANN訓(xùn)練營0基礎(chǔ)贏滿分秘籍】Yolov5 模型部署課堂筆記的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
保康县| 平利县| 北碚区| 丰宁| 交口县| 化州市| 宕昌县| 贵德县| 正宁县| 南京市| 巴林右旗| 巴里| 乌拉特后旗| 砀山县| 陇川县| 永城市| 沂南县| 于都县| 项城市| 济南市| 峡江县| 通道| 信宜市| 江口县| 孙吴县| 永善县| 长海县| 额尔古纳市| 白山市| 定州市| 定结县| 富裕县| 赤壁市| 呼伦贝尔市| 德令哈市| 湟源县| 无极县| 马龙县| 五家渠市| 甘南县| 霍山县|