99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

輕松學(xué)Pytorch之Deeplabv3推理

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 2022-12-21 15:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Deeplabv3

Torchvision框架中在語義分割上支持的是Deeplabv3語義分割模型,而且支持不同的backbone替換,這些backbone替換包括MobileNetv3、ResNet50、ResNet101。其中MobileNetv3版本訓(xùn)練數(shù)據(jù)集是COCO子集,類別跟Pascal VOC的20個類別保持一致。這里以它為例,演示一下從模型導(dǎo)出ONNX到推理的全過程。

ONNX格式導(dǎo)出

首先需要把pytorch的模型導(dǎo)出為onnx格式版本,用下面的腳本就好啦:
model=tv.models.segmentation.deeplabv3_mobilenet_v3_large(pretrained=True)
dummy_input=torch.randn(1,3,320,320)
model.eval()
model(dummy_input)
im=torch.zeros(1,3,320,320).to("cpu")
torch.onnx.export(model,im,
"deeplabv3_mobilenet.onnx",
verbose=False,
opset_version=11,
training=torch.onnx.TrainingMode.EVAL,
do_constant_folding=True,
input_names=['input'],
output_names=['out','aux'],
dynamic_axes={'input':{0:'batch',2:'height',3:'width'}}
)
模型的輸入與輸出結(jié)構(gòu)如下:

f800a568-8101-11ed-8abf-dac502259ad0.png

其中out就是我們要解析的語義分割預(yù)測結(jié)果,input表示支持動態(tài)輸入格式為NCHW

推理測試

模型推理對圖像有個預(yù)處理,要求如下:
transform = torchvision.transforms.Compose([
     torchvision.transforms.ToTensor(),
     torchvision.transforms.Normalize(mean=[0.485, 0.456, 0.406],
      std=[0.229, 0.224, 0.225])
 ])
意思是轉(zhuǎn)換為0~1之間的浮點數(shù),然后減去均值除以方差。 剩下部分的代碼就比較簡單,初始化onnx推理實例,然后完成推理,對結(jié)果完成解析,輸出推理結(jié)果,完整的代碼如下:
transform=torchvision.transforms.Compose([
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(mean=[0.485,0.456,0.406],
std=[0.229,0.224,0.225])
])

sess_options=ort.SessionOptions()
#Belowisforoptimizingperformance
sess_options.intra_op_num_threads=24
#sess_options.execution_mode=ort.ExecutionMode.ORT_PARALLEL
sess_options.graph_optimization_level=ort.GraphOptimizationLevel.ORT_ENABLE_ALL
ort_session=ort.InferenceSession("deeplabv3_mobilenet.onnx",providers=['CUDAExecutionProvider'],sess_options=sess_options)
#src=cv.imread("D:/images/messi_player.jpg")
src=cv.imread("D:/images/master.jpg")
image=cv.cvtColor(src,cv.COLOR_BGR2RGB)
blob=transform(image)
c,h,w=blob.shape
input_x=blob.view(1,c,h,w)

defto_numpy(tensor):
returntensor.detach().cpu().numpy()iftensor.requires_gradelsetensor.cpu().numpy()

#computeONNXRuntimeoutputprediction
ort_inputs={ort_session.get_inputs()[0].name:to_numpy(input_x)}
ort_outs=ort_session.run(None,ort_inputs)
t1=ort_outs[0]
t2=ort_outs[1]
labels=np.argmax(np.squeeze(t1,0),axis=0)
print(labels.dtype,labels.shape)
red_map=np.zeros_like(labels).astype(np.uint8)
green_map=np.zeros_like(labels).astype(np.uint8)
blue_map=np.zeros_like(labels).astype(np.uint8)
forlabel_numinrange(0,len(label_color_map)):
index=labels==label_num
red_map[index]=np.array(label_color_map)[label_num,0]
green_map[index]=np.array(label_color_map)[label_num,1]
blue_map[index]=np.array(label_color_map)[label_num,2]
segmentation_map=np.stack([blue_map,green_map,red_map],axis=2)
cv.addWeighted(src,0.8,segmentation_map,0.2,0,src)
cv.imshow("deeplabv3",src)
cv.waitKey(0)
cv.destroyAllWindows()
運行結(jié)果如下:

f812d652-8101-11ed-8abf-dac502259ad0.png

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1223

    瀏覽量

    25428
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

    13934

原文標題:輕松學(xué)Pytorch之Deeplabv3推理

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    AI功能(SC171開發(fā)套件V3

    AI功能(SC171開發(fā)套件V3) 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 圖像語義分割(deeplabv3)案例----基于SC171開發(fā)套件V3 7分44秒
    發(fā)表于 04-16 18:48

    有獎直播 | @4/8 輕松部署,強大擴展邊緣運算 AI 新世代

    MemryX推出全新MemryXMX3AI推理加速卡,采用PCIeGen3M.2M-Key接口,提供高達20TOPS的強大算力,為工業(yè)計算機帶來即插即用的AI部署體驗。結(jié)合OrangePi5Plus
    的頭像 發(fā)表于 03-27 16:31 ?653次閱讀
    有獎直播 | @4/8 <b class='flag-5'>輕松</b>部署,強大擴展邊緣運算 AI 新世代

    壁仞科技支持DeepSeek-V3滿血版訓(xùn)練推理

    DeepSeek在開源周開源了部分關(guān)鍵模塊的代碼及推理系統(tǒng)參考架構(gòu),再次引發(fā)行業(yè)震動,但目前尚未開源DeepSeek-V3 滿血版完整訓(xùn)練代碼。壁仞科技憑借八大自主創(chuàng)新技術(shù),實現(xiàn)
    的頭像 發(fā)表于 03-04 14:01 ?978次閱讀

    OpenAI即將推出o3 mini推理AI模型

    近日,OpenAI首席執(zhí)行官Sam Altman在社交媒體平臺X上發(fā)表了一篇引人關(guān)注的文章。在文章中,他透露了一個重要信息:OpenAI已經(jīng)成功完成了全新推理AI模型o3 mini版本的研發(fā)工作,并
    的頭像 發(fā)表于 01-20 10:54 ?562次閱讀

    OpenAI即將推出o3-mini,助力高級推理普及

    -mini的推出預(yù)示著高級推理技術(shù)將更加易于獲取且價格更為親民。 據(jù)了解,o3-mini是OpenAI在人工智能領(lǐng)域的一次重要創(chuàng)新,旨在打破高級推理技術(shù)的壁壘,使其能夠更廣泛地應(yīng)用于各個行業(yè)和領(lǐng)域。通過o
    的頭像 發(fā)表于 01-17 10:22 ?726次閱讀

    利用Arm Kleidi技術(shù)實現(xiàn)PyTorch優(yōu)化

    PyTorch 是一個廣泛應(yīng)用的開源機器學(xué)習(xí) (ML) 庫。近年來,Arm 與合作伙伴通力協(xié)作,持續(xù)改進 PyTorch推理性能。本文將詳細介紹如何利用 Arm Kleidi 技術(shù)提升 Arm
    的頭像 發(fā)表于 12-23 09:19 ?1043次閱讀
    利用Arm Kleidi技術(shù)實現(xiàn)<b class='flag-5'>PyTorch</b>優(yōu)化

    vLLM項目加入PyTorch生態(tài)系統(tǒng),引領(lǐng)LLM推理新紀元

    近日,vLLM項目宣布正式成為PyTorch生態(tài)系統(tǒng)的一部分,標志著該項目與PyTorch的合作進入了一個全新的階段。本文將從以下幾個方面進行介紹,特別提醒:安裝方案在第四個部分,可選擇性閱讀
    的頭像 發(fā)表于 12-18 17:06 ?811次閱讀
    vLLM項目加入<b class='flag-5'>PyTorch</b>生態(tài)系統(tǒng),引領(lǐng)LLM<b class='flag-5'>推理</b>新紀元

    Arm KleidiAI助力提升PyTorch上LLM推理性能

    生成式人工智能 (AI) 正在科技領(lǐng)域發(fā)揮關(guān)鍵作用,許多企業(yè)已經(jīng)開始將大語言模型 (LLM) 集成到云端和邊緣側(cè)的應(yīng)用中。生成式 AI 的引入也使得許多框架和庫得以發(fā)展。其中,PyTorch 作為
    的頭像 發(fā)表于 12-03 17:05 ?1480次閱讀
    Arm KleidiAI助力提升<b class='flag-5'>PyTorch</b>上LLM<b class='flag-5'>推理</b>性能

    PyTorch 2.5.1: Bugs修復(fù)版發(fā)布

    ? 一,前言 在深度學(xué)習(xí)框架的不斷迭代中,PyTorch 社區(qū)始終致力于提供更穩(wěn)定、更高效的工具。最近,PyTorch 2.5.1 版本正式發(fā)布,這個版本主要針對 2.5.0 中發(fā)現(xiàn)的問題進行了修復(fù)
    的頭像 發(fā)表于 12-03 16:11 ?1610次閱讀
    <b class='flag-5'>PyTorch</b> 2.5.1: Bugs修復(fù)版發(fā)布

    PyTorch 數(shù)據(jù)加載與處理方法

    PyTorch 是一個流行的開源機器學(xué)習(xí)庫,它提供了強大的工具來構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。在構(gòu)建模型之前,一個重要的步驟是加載和處理數(shù)據(jù)。 1. PyTorch 數(shù)據(jù)加載基礎(chǔ) 在 PyTorch
    的頭像 發(fā)表于 11-05 17:37 ?923次閱讀

    Pytorch深度學(xué)習(xí)訓(xùn)練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學(xué)習(xí)訓(xùn)練。
    的頭像 發(fā)表于 10-28 14:05 ?648次閱讀
    <b class='flag-5'>Pytorch</b>深度學(xué)習(xí)訓(xùn)練的方法

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    測試 6.1 deeplabv3語義分割 6.2 lite_transformer 6.3 LPRNet車牌識別 6.4 mobilenet圖像分類 6.5 PPOCR-Rec文字識別 6.6
    發(fā)表于 10-23 14:06

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    測試 6.1 deeplabv3語義分割 6.2 lite_transformer 6.3 LPRNet車牌識別 6.4 mobilenet圖像分類 6.5 PPOCR-Rec文字識別 6.6
    發(fā)表于 08-12 11:03

    pytorch怎么在pycharm中運行

    第一部分:PyTorch和PyCharm的安裝 1.1 安裝PyTorch PyTorch是一個開源的機器學(xué)習(xí)庫,用于構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。要在PyCharm中使用PyTorch,首先需
    的頭像 發(fā)表于 08-01 16:22 ?2503次閱讀

    pycharm如何調(diào)用pytorch

    引言 PyTorch是一個開源的機器學(xué)習(xí)庫,廣泛用于計算機視覺、自然語言處理等領(lǐng)域。PyCharm是一個流行的Python集成開發(fā)環(huán)境(IDE),提供了代碼編輯、調(diào)試、測試等功能。將PyTorch
    的頭像 發(fā)表于 08-01 15:41 ?1205次閱讀