TensorRT加速应用
TensorRT加速應用?
tensorrtx下載
TensorRT是一個C++版本的深度學習架構,和tensorflow、pytorch是平行關系。我們想用TensorRT部署yolov5到開發板,那就分為兩步,1.安裝TensorRT,2.用TensorRT的語法重寫各訓練框架訓練的網絡。但是用TensorRT自己寫一遍網絡真的太麻煩了,我們也不會。那我們就可以用tensorrtx,這位大神用TensorRT的語法復現了各種經典網絡:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-D45QQ1Jc-1642325226242)(TensorRT加速應用.assets/image-20220115200209423.png)]
網絡之多,一張截圖放不下,基本主流的網絡都已經能夠轉化
相當于把第2步幫我們做好了,這一個至關重要,它能將各框架訓練的模型文件轉變成tensorrtx支持的文件。
但是他對我們的環境提出了要求:
-
要求一:tensorrtx要求cuda10.0 / cudnn7.6.5 / TensorRT7.0.0
-
要求二:CUDA10.0要求顯卡驅動高于410.48
-
顯卡對驅動的要求:
使用ubuntu-drivers devices來查看支持的顯卡驅動, 如果發現支持的驅動全都沒超過410.48,那這條路就走不通了。 如果支持>= 410.48的驅動,但你現在使用不是它, 那么可以用sudo apt install nvidia-driver-xxx來安裝 -
CUDA10.0的要求(其他版本的CUDA要求在這里):對ubuntu版本,系統內核,gcc,glibc的要求,
也就是我們要有:
- 顯卡驅動,自行前往官網安裝,或者敲命令安裝就好了
- >CUDA10.0,可以參考部署cuda和cudnn
- >cuDNN7.6.5,可以參考部署cuda和cudnn
- >TensorRT7.0.0.11,可以參考部署tensorrt
- >opencv3.4.15,可以參考部署opencv
代碼下載:
需要用到兩個代碼:
-
yolov5 官方源碼 ,并配置好環境(最好是conda虛擬環境)
cd ~ git clone https://github.com/ultralytics/yolov5 cd yolov5 pip install -r requirements.txt python detect.py運行之后,可以自動幫你下載yolov5s.pt,需要聯網,搞不定的話也可以直接去github下載,這個pt文件十分重要,后面加速應用會用到
-
tensorrtx 源碼
cd ~ git clone https://github.com/wang-xinyu/tensorrtx
獲得.wts文件
將下載得到的yolov5s.pt文件復制到tensorrtx/yolov5目錄下,運行gen_wts即可得到.wts文件,這里共用yolov5的配置環境即可
python gen_wts.py yolov5s.pt運行完成之后會得到yolov5s.wts
編譯運行,獲得.engine文件
在編譯運行之前,回顧TensorRT的安裝是用deb包安裝,還是從tar壓縮包安裝的,如果是從tar壓縮包安裝,這一步必不能省略,否則無法編譯完成
編輯tensorrtx/yolov5目錄下的CMakeLists.txt:
# 替換這兩行 include_directories(/usr/include/x86_64-linux-gnu/) link_directories(/usr/lib/x86_64-linux-gnu/)include_directories(/home/{user_name}/TensorRT-{version}/include/) link_directories(/home/{user_name}/TensorRT-{version}/targets/x86_64-linux-gnu/lib/) # 保存退出{user_name}:用戶名
{version}:TensorRT版本
cd ~/tensorrtx/yolov5 mkdir build cd build cp ../yolov5s.wts ./ cmake .. make # -s 命令用于生成.engine文件,三個參數分別是.wts文件,.engine文件和model標識[s/m/l/x/...] ./yolov5 -s yolov5s.wts yolov5s.engine s # -d 命令用于執行推理,兩個參數分別是engine和要測試的目錄 ./yolov5 -d yolov5s.engine ../samples運行沒報錯,就可以在build文件夾里看到帶框的zidane.jpg了
個參數分別是engine和要測試的目錄
./yolov5 -d yolov5s.engine …/samples
總結
以上是生活随笔為你收集整理的TensorRT加速应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity LOD-Level of D
- 下一篇: 马士兵 java se_马士兵javas