91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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之間的浮點(diǎn)數(shù),然后減去均值除以方差。 剩下部分的代碼就比較簡單,初始化onnx推理實(shí)例,然后完成推理,對結(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()
運(yùn)行結(jié)果如下:

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

審核編輯 :李倩

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

    關(guān)注

    4

    文章

    1236

    瀏覽量

    26196
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    813

    瀏覽量

    14853

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    PyTorch 中RuntimeError分析

    ://download.pytorch.org/whl/cu118 方案3:使用替代上采樣模式 如果你的任務(wù)允許,可以將 mode=\'nearest\' 替換為其他已支持 BFloat16 的模式,例如 mode
    發(fā)表于 03-06 06:02

    AI功能(SC171開發(fā)套件V2-FAS)

    AI功能(SC171開發(fā)套件V2-FAS) 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 圖像語義分割(deeplabv3)案例----基于SC171開發(fā)套件V2-FAS
    發(fā)表于 02-11 14:33

    Pytorch 與 Visionfive2 兼容嗎?

    Pytorch 與 Visionfive2 兼容嗎? $ pip3 install torch torchvision torchaudio --index-url https
    發(fā)表于 02-06 08:28

    商湯開源SenseNova-MARS:突破多模態(tài)搜索推理天花板

    今日,商湯正式開源多模態(tài)自主推理模型 SenseNova-MARS(8B/32B 雙版本),其在多模態(tài)搜索與推理的核心基準(zhǔn)測試中以 69.74 分超越Gemini-3-Pro(69.06 分
    的頭像 發(fā)表于 01-29 23:53 ?154次閱讀
    商湯開源SenseNova-MARS:突破多模態(tài)搜索<b class='flag-5'>推理</b>天花板

    曦望發(fā)布新一代推理GPU芯片,單位Token推理成本降低90%

    電子發(fā)燒友網(wǎng)報道 1月27日,國產(chǎn)GPU廠商曦望(Sunrise)重磅發(fā)布新一代推理GPU芯片——啟望S3。這是曦望在近一年累計完成約30億元戰(zhàn)略融資后的首次集中公開亮相。2025年,曦望芯片交付量
    的頭像 發(fā)表于 01-28 17:38 ?8672次閱讀

    今日看點(diǎn):消息稱 AMD、高通考慮導(dǎo)入 SOCAMM 內(nèi)存;曦望發(fā)布新一代推理GPU芯片啟望S3

    曦望發(fā)布新一代推理GPU芯片啟望S3 近日,浙江杭州GPU創(chuàng)企曦望(Sunrise)發(fā)布新一代推理GPU芯片啟望S3,并推出面向大模型推理
    發(fā)表于 01-28 11:09 ?394次閱讀

    阿里巴巴發(fā)布通義千問旗艦推理模型Qwen3-Max-Thinking

    今天,我們正式發(fā)布千問旗艦推理模型Qwen3-Max-Thinking,創(chuàng)下數(shù)項權(quán)威評測全球新紀(jì)錄。
    的頭像 發(fā)表于 01-27 15:47 ?386次閱讀
    阿里巴巴發(fā)布通義千問旗艦<b class='flag-5'>推理</b>模型Qwen<b class='flag-5'>3</b>-Max-Thinking

    LLM推理模型是如何推理的?

    這篇文章《(How)DoReasoningModelsReason?》對當(dāng)前大型推理模型(LRM)進(jìn)行了深刻的剖析,超越了表面的性能宣傳,直指其技術(shù)本質(zhì)和核心局限。以下是基于原文的詳細(xì)技術(shù)原理、關(guān)鍵
    的頭像 發(fā)表于 01-19 15:33 ?493次閱讀
    LLM<b class='flag-5'>推理</b>模型是如何<b class='flag-5'>推理</b>的?

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

    分割(deeplabv3)案例----基于SC171開發(fā)套件V3 8分02秒 https://t.elecfans.com/v/28529.html *附件:文檔:圖像語義分割(deeplabv3
    發(fā)表于 01-15 11:18

    北京迅為itop-3588開發(fā)板NPU例程測試deeplabv3 語義分割

    北京迅為itop-3588開發(fā)板NPU例程測試deeplabv3 語義分割
    的頭像 發(fā)表于 07-22 15:51 ?992次閱讀
    北京迅為itop-3588開發(fā)板NPU例程測試<b class='flag-5'>deeplabv3</b> 語義分割

    信而泰×DeepSeek:AI推理引擎驅(qū)動網(wǎng)絡(luò)智能診斷邁向 “自愈”時代

    故障)”的自動化推理鏈條。3.預(yù)測性防御:智能基線洞察,防患于未然l 基于先進(jìn)的時序分解算法,為每個關(guān)鍵業(yè)務(wù)終端/鏈路動態(tài)構(gòu)建多維性能基線(吞吐量、時延、丟包率)。l 主動預(yù)警潛在風(fēng)險,如帶寬瓶頸
    發(fā)表于 07-16 15:29

    大模型推理顯存和計算量估計方法研究

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)大模型在各個領(lǐng)域得到了廣泛應(yīng)用。然而,大模型的推理過程對顯存和計算資源的需求較高,給實(shí)際應(yīng)用帶來了挑戰(zhàn)。為了解決這一問題,本文將探討大模型推理顯存和計算量的估計
    發(fā)表于 07-03 19:43

    將Whisper大型v3 fp32模型轉(zhuǎn)換為較低精度后,推理時間增加,怎么解決?

    將 openai/whisper-large-v3 FP32 模型轉(zhuǎn)換為 FP16、INT8 和 INT4。 推理所花費(fèi)的時間比在 FP32 上花費(fèi)的時間要多
    發(fā)表于 06-24 06:23

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

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

    有獎直播 | @4/8 輕松部署,強(qiáng)大擴(kuò)展邊緣運(yùn)算 AI 新世代

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