亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                使用MindStudio進(jìn)行OSNet模型的onnx推理

                使用MindStudio進(jìn)行OSNet模型的onnx推理

                本次實(shí)驗(yàn)在Mindstudio上開(kāi)展,本實(shí)驗(yàn)對(duì)應(yīng)的 CANN 版本為 5.0.3,請(qǐng)先按照官網(wǎng)教程,配置好 Mindstudio 與其所需依賴。本文使用Mindstudio中的ATC工具,對(duì)OSNet的pytorch模型轉(zhuǎn)換成適配昇騰AI處理器的離線模型,并進(jìn)行精度分析。Mindstudio是一款華為旗下的含算子、模型、開(kāi)發(fā)一體的工具,內(nèi)部集成了眾多開(kāi)發(fā)與推理功能模塊,可以使我們更方便的進(jìn)行開(kāi)發(fā)推理等工作。

                一、概述

                參考論文:[OSNet 論文](https://arxiv.org/abs/1905.00953) 作為一個(gè)實(shí)例級(jí)的識(shí)別問(wèn)題,行人再識(shí)別(ReID)依賴于具有識(shí)別能力的特征,它 不僅能捕獲不同的空間尺度,還能封裝多個(gè)尺度的任意組合。這些同構(gòu)和異構(gòu)尺度的 特征為全尺度特征。本文設(shè)計(jì)了一種新穎的深度 CNN,稱為全尺度網(wǎng)絡(luò)(OSNet),用于 ReID 的全尺度特征學(xué)習(xí)。這是通過(guò)設(shè)計(jì)一個(gè)由多個(gè)卷積特征流組成的殘差塊來(lái)實(shí)現(xiàn)的, 每個(gè)殘差塊檢測(cè)一定尺度的特征。重要的是,引入了一種新的統(tǒng)一聚合門用輸入依賴 的每個(gè)通道權(quán)重進(jìn)行動(dòng)態(tài)多尺度特征融合。為了有效地學(xué)習(xí)空間通道相關(guān)性,避免過(guò) 擬合,構(gòu)建塊同時(shí)使用點(diǎn)卷積和深度卷積。通過(guò)逐層疊加這些塊,OSNet 非常輕量,可 以在現(xiàn)有的 ReID 基準(zhǔn)上從零開(kāi)始訓(xùn)練。盡管 OSNet 模型很小,但其在 6 個(gè) Reid 數(shù)據(jù) 集上到達(dá)了 SOTA 結(jié)果。

                二、推理環(huán)境準(zhǔn)備

                1、配置conda環(huán)境、安裝依賴包

                依賴名稱

                版本

                ONNX

                1.7.0

                torch

                1.8.1

                TorchVision

                0.9.1

                numpy

                1.18.5

                Pillow

                7.2.0

                Opencv-python

                4.2.0.34

                protobuf

                3.13.0

                onnx-simplifiler

                0.3.6

                isort

                4.3.21

                三、執(zhí)行推理

                注:本實(shí)驗(yàn)的腳本來(lái)源:https://www.hiascend.com/zh/software/modelzoo/detail/1/43a754e306c6461d86dafced5046121f

                用戶可以下載獲取。

                3.1創(chuàng)建工程

                點(diǎn)擊File->New->Project:

                進(jìn)入以下界面:

                Name為自己的項(xiàng)目名稱,CANN Version為本機(jī)Mindstudio所對(duì)應(yīng)的CANN版本,Project Location為項(xiàng)目地址,讀者根據(jù)自己實(shí)際情況進(jìn)行填寫。

                選擇Pytorch Project,點(diǎn)擊Finish完成項(xiàng)目創(chuàng)建。

                3.2從開(kāi)源代碼倉(cāng)獲取OSNet源碼:

                在終端輸入代碼:

                git clone https://github.com/KaiyangZhou/deep-person-reid.git

                獲取源碼,并cd進(jìn)入文件夾

                cd deep-person-reid/

                安裝源碼所需依賴:

                pip install -r requirements.txt

                運(yùn)行setup腳本下載torchreid:

                python3.7 setup.py develop

                3.3數(shù)據(jù)預(yù)處理

                從網(wǎng)上下載數(shù)據(jù)集壓縮包,本文提供百度網(wǎng)盤下載地址:

                [Market1501數(shù)據(jù)集(百度網(wǎng)盤下載,提取碼:me3q)](https://pan.baidu.com/s/1Nl8tMEvq-MwNGd1pG4_6bg)

                本步驟是為了把輸入格式從圖片形式轉(zhuǎn)為二進(jìn)制info文件,用于om模型的輸入。

                把數(shù)據(jù)集解壓到deep-person-reid文件夾里,隨后運(yùn)行腳本:market1501_torch_preprocess.py,主要過(guò)程解釋如下:

                對(duì)bounding_box_test測(cè)試集與query數(shù)據(jù)集進(jìn)行處理,把原始輸入的圖片的JPG格式,輸出為二進(jìn)制文件格式—bin文件。

                選中所執(zhí)行腳本,點(diǎn)擊鼠標(biāo)右鍵,進(jìn)入Modify Run configuration

                對(duì)bounding_box_test測(cè)試集處理

                對(duì)query數(shù)據(jù)集處理

                運(yùn)行框內(nèi)主要參數(shù)解釋:

                參數(shù)名稱

                解釋

                Script path

                從文件夾中選中需要執(zhí)行的腳本文件

                Parameters

                腳本運(yùn)行所需參數(shù),本例中分別為bounding_box_test文件夾相對(duì)路徑,bin文件存放文件夾gallery_prep_dataset相對(duì)路徑;對(duì)query數(shù)據(jù)集處理時(shí)的參數(shù)為query文件夾的相對(duì)路徑和bin文件存放的文件夾query_pre_data的相對(duì)路徑

                Python interpreter

                運(yùn)行腳本所使用的Python解釋器

                運(yùn)行成功后:

                運(yùn)行結(jié)果顯示

                接下來(lái)執(zhí)行生成數(shù)據(jù)集信息腳本,生成數(shù)據(jù)集信息文件。即分別一步所生成的gallery_prep_dataset文件夾與query_prep_dataset的bin文件轉(zhuǎn)換為數(shù)據(jù)集信息文件。

                對(duì)gallery_prep_dataset文件夾處理

                對(duì)query_prep_dataset文件夾處理

                Parameters里的參數(shù)為:第一個(gè)參數(shù)為模型輸入的類型,第二個(gè)參數(shù)為生成的bin文件路徑,第三個(gè)為輸出的info文件,第四、第五個(gè)為寬高信息。腳本運(yùn)行結(jié)果生成info文件。

                3.4模型轉(zhuǎn)換

                本文模型需要做兩步轉(zhuǎn)換,即先有path->onnx,再有onnx->om

                3.4.1由path轉(zhuǎn)換onnx

                本文提供兩種方式下載訓(xùn)練好的權(quán)重文件如下:

                [OSNet訓(xùn)練pth權(quán)重文件(google下載)](https://drive.google.com/file/d/1vduhq5DpN2q1g4fYEZfPI17MJeh9qyrA/view?usp=sharing)

                [OSNet訓(xùn)練pth權(quán)重文件(百度網(wǎng)盤下載,提取碼:gcfe)](https://pan.baidu.com/s/1Xkwa9TCZss_ygkC8obsEMg)

                此步由pytorch完成轉(zhuǎn)換,執(zhí)行轉(zhuǎn)換腳本:pth2onnx.py

                Paremeters內(nèi)填入?yún)?shù)分別為參數(shù)文件名與生成的onnx模型文件名:

                osnet_x1_0_market_256x128_amsgrad_ep150_stp60_lr0.0015_b64_fb10_softmax_labelsmooth_flip.pth osnet_x1_0.onnx

                得到onnx模型文件后,在終端輸入:

                python3.7 -m onnxsim osnet_x1_0.onnx osnet_x1_0_bs1_sim.onnx –input-shape 1,3,256,128

                利用之前安裝的依賴onnx-simplify對(duì)onnx模型進(jìn)行簡(jiǎn)化,生成batch_size=1的靜態(tài)模型:onnxsim osnet_x1_0.onnx。

                3.4.2onnx轉(zhuǎn)換om

                此步轉(zhuǎn)換使用Mindstudio提供的ATC轉(zhuǎn)換工具,ATC工具功能架構(gòu)如下圖所示:

                用戶可以將開(kāi)源框架網(wǎng)絡(luò)模型如本文的OSNet模型,通過(guò)ATC工具轉(zhuǎn)換為適配昇騰AI處理器的離線模型也可以將開(kāi)源框架網(wǎng)絡(luò)模型轉(zhuǎn)換后的離線模型轉(zhuǎn)成json文件,方便文件查看。

                點(diǎn)擊導(dǎo)欄行的Ascend->Model Converter;或者點(diǎn)擊Mindstudio的功能欄:

                進(jìn)入以下界面:

                在Model File中選中需要轉(zhuǎn)換的onnx模型,Model Name為模型名稱,Target SoC Version為需要轉(zhuǎn)換成適配的芯片類型,image為輸入圖片的batch_size。點(diǎn)擊圖中紅框的圖標(biāo),可以生成可視化模型流程框架:

                用戶可以在此了解每層的結(jié)構(gòu)與參數(shù)。

                點(diǎn)擊ok,next,即可進(jìn)行模型轉(zhuǎn)換:

                點(diǎn)擊Finish完成模型轉(zhuǎn)換,紅框里分別是om模型存放的服務(wù)器地址與本地地址。

                3.5執(zhí)行離線推理

                推理benchmark工具用來(lái)針對(duì)指定的推理模型運(yùn)行推理程序,并能夠測(cè)試推理模型的性能(包括吞吐率、時(shí)延)和精度指標(biāo)。benchmark的安裝包可以通過(guò)benchmark工具用戶指南獲取。benchmark工具有兩個(gè)使用場(chǎng)景,分別是:

                純推理場(chǎng)景

                該場(chǎng)景僅用來(lái)測(cè)試推理模型的性能指標(biāo),即模型執(zhí)行的平均時(shí)間和平均吞吐率。

                該場(chǎng)景無(wú)需準(zhǔn)備推理數(shù)據(jù)及數(shù)據(jù)集文件,只需要準(zhǔn)備經(jīng)過(guò)ATC轉(zhuǎn)換后的模型文件即可推理。

                推理場(chǎng)景

                該場(chǎng)景除了測(cè)試性能指標(biāo)之外,還可以測(cè)試模型的精度指標(biāo)。

                該場(chǎng)景需要準(zhǔn)備經(jīng)過(guò)預(yù)處理的推理數(shù)據(jù)及數(shù)據(jù)集文件和經(jīng)過(guò)ATC轉(zhuǎn)換后的模型文件才能推理

                本文所使用的場(chǎng)景是推理場(chǎng)景,即利用上文所處理的info數(shù)據(jù)以及轉(zhuǎn)換的om模型進(jìn)行推理:

                在終端輸入命令:

                a. 設(shè)置環(huán)境變量:

                source /usr/local/Ascend/ascend-toolkit/set_env.sh

                b. 增加benchmark.{arch}可執(zhí)行權(quán)限:

                chmod u+x benchmark.x86_64

                c. 執(zhí)行離線推理:

                #對(duì)query_prep_bin.info進(jìn)行處理

                ./benchmark.x86_64 -model_type=vision -device_id=0 -batch_size=1 -om_path=osnet_x1_0_bs1.om -input_text_path=./query_prep_bin.info -input_width=128 -input_height=256 -output_binary=False -useDvpp=False

                主要參數(shù)解釋如下:

                • -model:為ONNX模型文件。
                • -framework:5代表ONNX模型。
                • -output:輸出的OM模型。
                • -input_format:輸入數(shù)據(jù)的格式。
                • -input_shape:輸入數(shù)據(jù)的shape。
                • -log:日志級(jí)別。
                • -soc_version:處理器型號(hào)。

                執(zhí)行成功后:

                3.6精度驗(yàn)證

                執(zhí)行osnet_metrics_market1501_bs1.py腳本:

                Parameters參數(shù)填入:result/dumpOutput_device0/ result/dumpOutput_device1/ ./ result_bs1.json,運(yùn)行腳本執(zhí)行精度驗(yàn)證,結(jié)果如下所示:

                OSNet開(kāi)源代碼倉(cāng)精度(https://kaiyangzhou.github.io/deep-person-reid/MODEL_ZOO)

                osnet_x1_0 R1=94.2%,mAP=82.6%

                本次實(shí)驗(yàn)所得代碼精度:R1=94.3,mAP=82.5

                R1比代碼倉(cāng)結(jié)果略高,mAP下降在1%范圍之內(nèi),故精度達(dá)標(biāo)。

                F&Q

                1. 在數(shù)據(jù)預(yù)處理時(shí),執(zhí)行market1501_torch_preprocess.py腳本時(shí)會(huì)出現(xiàn)如下錯(cuò)誤:

                原因是把腳本文件置于數(shù)據(jù)集文件夾中,把腳本文件轉(zhuǎn)移到deep-person-reid文件夾下即可。

                2. 在執(zhí)行精度驗(yàn)證腳本osnet_x1_0_metrics_market1501.py時(shí)會(huì)出現(xiàn)如下錯(cuò)誤

                原因是沒(méi)有進(jìn)行環(huán)境變量的配置,在終端輸入代碼:

                source env.sh

                即可。

                在項(xiàng)目上有其它問(wèn)題的也可以登錄昇騰論壇,在帖子里提出自己關(guān)于項(xiàng)目或者M(jìn)indstudio的疑文(https://www.huaweicloud.com/s/JU1pbmRTdHVkaW_mkK3lu7ol/t_60_p_1),會(huì)有華為內(nèi)部技術(shù)人員對(duì)其進(jìn)行解答,幫助你更好使用MindStudio。

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年7月3日 22:03
                下一篇 2022年7月3日 22:04

                相關(guān)推薦

                • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

                  對(duì)于微商朋友來(lái)說(shuō),朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營(yíng)一個(gè)朋友圈,有的微商看起來(lái)逼格滿滿,實(shí)際效果也不錯(cuò);而有的卻動(dòng)都不動(dòng)就被屏蔽甚至拉黑…

                  2022年11月27日
                • 存儲(chǔ)過(guò)程語(yǔ)法(sql server存儲(chǔ)過(guò)程語(yǔ)法)

                  今天小編給各位分享存儲(chǔ)過(guò)程語(yǔ)法的知識(shí),其中也會(huì)對(duì)sql server存儲(chǔ)過(guò)程語(yǔ)法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! oracle存儲(chǔ)過(guò)程基本語(yǔ)法…

                  2022年11月26日
                • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

                  CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊(cè),可以是激活,可以是搜索下載激活,可以是綁卡,實(shí)名認(rèn)證,可以是付費(fèi),可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來(lái)定…

                  2022年11月25日
                • 直播帶貨詳細(xì)腳本(直播文案策劃怎么寫)

                  短視頻運(yùn)營(yíng)策劃方案怎么寫?涉及哪幾個(gè)方面? 我在網(wǎng)上看到好多千篇一律的文章,關(guān)于【短視頻運(yùn)營(yíng)策劃方案】這一塊,基本都是在講賬號(hào)的內(nèi)容本身。 你內(nèi)容做得再好,卻不掌握算法的規(guī)律,能有…

                  2022年11月25日
                • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點(diǎn))

                  如今抖音這個(gè)短視頻的變現(xiàn)能力越來(lái)越突顯了,尤其是在平臺(tái)上開(kāi)通直播,更具有超強(qiáng)的帶貨屬性,已經(jīng)有越來(lái)越多的普通人加入到其中了。不過(guò)直播帶貨雖然很火,但是也不是每個(gè)人都能做好的,那么在…

                  2022年11月24日
                • 科比19歲女兒遭自稱與她生“科比式孩子”男子跟蹤騷擾

                  極目新聞?dòng)浾咄趿亮咙S佳琪 據(jù)??怂剐侣劸W(wǎng)報(bào)道,當(dāng)?shù)貢r(shí)間11月21日,已故籃球巨星科比·布萊恩特的長(zhǎng)女娜塔莉亞·布萊恩特21日向法院提交臨時(shí)限制令,聲稱這位32歲的前科從十幾歲起就騷…

                  2022年11月24日
                • 銳龍97900x參數(shù)規(guī)格跑分評(píng)測(cè) 銳龍97900x屬于什么檔次

                  銳龍9 7900X是銳龍7000系列處理器中性能頂尖的型號(hào)之一,它采用了這一代標(biāo)配的zen4架構(gòu)和5nm制程工藝,那么它具體的參數(shù)跑分如何,在電腦上世紀(jì)發(fā)揮怎么樣呢,下面就來(lái)看看銳…

                  2022年11月24日
                • 免費(fèi)清理c盤的軟件(清理c盤空間不影響系統(tǒng))

                  電腦用久了慢如龜速,還卡頓,這最大的原因啊就是C盤空間不足造成的。 即使電腦配置再好,或者硬盤再快,如果長(zhǎng)時(shí)間沒(méi)有打掃C盤,打開(kāi)文件或者穩(wěn)定之類的,都卡得讓人頭大。 這時(shí)候呢不要去…

                  2022年11月24日
                • 明查|美國(guó)新冠后遺癥患者中有16%癥狀嚴(yán)重以致無(wú)法工作?

                  點(diǎn)擊進(jìn)入澎湃新聞全球事實(shí)核查平臺(tái) 速覽 – 網(wǎng)傳數(shù)據(jù)比例無(wú)權(quán)威信源佐證,該比例有可能是結(jié)合了美國(guó)疾病防控中心和布魯金斯學(xué)會(huì)的數(shù)據(jù)得出,但這兩個(gè)機(jī)構(gòu)的調(diào)研目的和樣本都不同…

                  2022年11月24日
                • pdf虛擬打印機(jī)(添加pdf虛擬打印機(jī))

                  本文主要講的是pdf虛擬打印機(jī),以及和添加pdf虛擬打印機(jī)相關(guān)的知識(shí),如果覺(jué)得本文對(duì)您有所幫助,不要忘了將本文分享給朋友。 pdf虛擬打印機(jī)具體是什么功能? 電腦虛擬打印機(jī)的功能有…

                  2022年11月24日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息