Pytorch pth 格式轉(zhuǎn)ONNX 格式的詳細(xì)過程
背景介紹
PyTorch 訓(xùn)練的模型,需要在Jetson nano 上部署,jetson 原生提供了TensorRT 的支持,所以一個(gè)比較好的方式是把它轉(zhuǎn)換成ONNX 格式,然后在通過ONNX 轉(zhuǎn)換成TensorRT 格式

安裝依賴庫
所以就需要安裝ONNX, 安裝ONNX 具體的版本需要依賴于環(huán)境中的protobuf 和python版本,我的python版本是3.6.9
pip install onnx==1.11.0 pip install onnx-simplifier
安裝ONNX 沒問題,但是安裝onnx-simplifier的時(shí)候,Jetson xaviar 上死活安裝不成功

各種報(bào)錯(cuò)

但是,我換到windows 上和ubuntu 服務(wù)器上,就很正常的安裝成功了

誰知道Jetson 上為什么安裝失敗的,可以私信我或評(píng)論區(qū)告訴我,感謝~
轉(zhuǎn)換成onnx 格式
with torch.no_grad(): torch.onnx.export( model, example, "init.onnx", opset_version=11, input_names=['input'], output_names=['output'])
這樣就能正常導(dǎo)出了
在Jetson XAVIAR 上運(yùn)行時(shí)可能會(huì)報(bào)如下錯(cuò)誤
Illegal instruction (core dumped)

執(zhí)行下如下命令即可
export OPENBLAS_CORETYPE=ARMV8
ONNX 轉(zhuǎn)換成TensorRT 格式
在Jetson 上通過trtexec 工具做轉(zhuǎn)換
trtexec --onnx=init.onnx --saveEngine=init.trt --explicitBatch

發(fā)現(xiàn)轉(zhuǎn)換時(shí)報(bào)如下錯(cuò)誤:Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.

所以需要通過onnx-simplifier 轉(zhuǎn)換一下,轉(zhuǎn)換命令如下
python -m onnxsim init.onnx init_sim.onnx

這樣,就轉(zhuǎn)換成功了,成功之后,后面就可以在TensorRT 上推理了
到此這篇關(guān)于Pytorch pth 格式轉(zhuǎn)ONNX 格式的文章就介紹到這了,更多相關(guān)Pytorch pth 轉(zhuǎn)ONNX 格式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pyqt5之將textBrowser的內(nèi)容寫入txt文檔的方法
今天小編就為大家分享一篇pyqt5之將textBrowser的內(nèi)容寫入txt文檔的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python高級(jí)搜索實(shí)現(xiàn)高效搜索GitHub資源
這篇文章主要為大家介紹了python高級(jí)搜索來高效搜索GitHub,從而高效獲取所需資源,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
Python pandas DataFrame操作的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python pandas DataFrame操作的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06
python實(shí)現(xiàn)馬丁策略的實(shí)例詳解
這篇文章主要介紹了python實(shí)現(xiàn)馬丁策略的實(shí)例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Python Web靜態(tài)服務(wù)器非堵塞模式實(shí)現(xiàn)方法示例
這篇文章主要介紹了Python Web靜態(tài)服務(wù)器非堵塞模式實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python單進(jìn)程非堵塞模式實(shí)現(xiàn)的Web靜態(tài)服務(wù)器相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
Python多線程通信queue隊(duì)列用法實(shí)例分析
這篇文章主要介紹了Python多線程通信queue隊(duì)列用法,結(jié)合實(shí)例形式分析了Python多線程通信queue隊(duì)列相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-03-03
python利用小波分析進(jìn)行特征提取的實(shí)例
今天小編就為大家分享一篇python利用小波分析進(jìn)行特征提取的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python如何自動(dòng)生成環(huán)境依賴包requirements
這篇文章主要介紹了Python如何自動(dòng)生成環(huán)境依賴包requirements問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Python任務(wù)調(diào)度模塊APScheduler使用
這篇文章主要介紹了Python任務(wù)調(diào)度模塊APScheduler使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

