日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TensorRT加速应用

發(fā)布時間:2023/12/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorRT加速应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TensorRT加速應(yīng)用?

tensorrtx下載

TensorRT是一個C++版本的深度學(xué)習(xí)架構(gòu),和tensorflow、pytorch是平行關(guān)系。我們想用TensorRT部署yolov5到開發(fā)板,那就分為兩步,1.安裝TensorRT,2.用TensorRT的語法重寫各訓(xùn)練框架訓(xùn)練的網(wǎng)絡(luò)。但是用TensorRT自己寫一遍網(wǎng)絡(luò)真的太麻煩了,我們也不會。那我們就可以用tensorrtx,這位大神用TensorRT的語法復(fù)現(xiàn)了各種經(jīng)典網(wǎng)絡(luò):

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-D45QQ1Jc-1642325226242)(TensorRT加速應(yīng)用.assets/image-20220115200209423.png)]

網(wǎng)絡(luò)之多,一張截圖放不下,基本主流的網(wǎng)絡(luò)都已經(jīng)能夠轉(zhuǎn)化

相當(dāng)于把第2步幫我們做好了,這一個至關(guān)重要,它能將各框架訓(xùn)練的模型文件轉(zhuǎn)變成tensorrtx支持的文件。

但是他對我們的環(huán)境提出了要求:

  • 要求一:tensorrtx要求cuda10.0 / cudnn7.6.5 / TensorRT7.0.0

  • 要求二:CUDA10.0要求顯卡驅(qū)動高于410.48

  • 顯卡對驅(qū)動的要求

    使用ubuntu-drivers devices來查看支持的顯卡驅(qū)動, 如果發(fā)現(xiàn)支持的驅(qū)動全都沒超過410.48,那這條路就走不通了。 如果支持>= 410.48的驅(qū)動,但你現(xiàn)在使用不是它, 那么可以用sudo apt install nvidia-driver-xxx來安裝
  • CUDA10.0的要求(其他版本的CUDA要求在這里):對ubuntu版本,系統(tǒng)內(nèi)核,gcc,glibc的要求,

也就是我們要有:

  • 顯卡驅(qū)動,自行前往官網(wǎng)安裝,或者敲命令安裝就好了
  • >CUDA10.0,可以參考部署cuda和cudnn
  • >cuDNN7.6.5,可以參考部署cuda和cudnn
  • >TensorRT7.0.0.11,可以參考部署tensorrt
  • >opencv3.4.15,可以參考部署opencv

代碼下載:

需要用到兩個代碼:

  • yolov5 官方源碼 ,并配置好環(huán)境(最好是conda虛擬環(huán)境)

    cd ~ git clone https://github.com/ultralytics/yolov5 cd yolov5 pip install -r requirements.txt python detect.py

    運行之后,可以自動幫你下載yolov5s.pt,需要聯(lián)網(wǎng),搞不定的話也可以直接去github下載,這個pt文件十分重要,后面加速應(yīng)用會用到

  • tensorrtx 源碼

    cd ~ git clone https://github.com/wang-xinyu/tensorrtx

獲得.wts文件

將下載得到的yolov5s.pt文件復(fù)制到tensorrtx/yolov5目錄下,運行g(shù)en_wts即可得到.wts文件,這里共用yolov5的配置環(huán)境即可

python gen_wts.py yolov5s.pt

運行完成之后會得到y(tǒng)olov5s.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文件,三個參數(shù)分別是.wts文件,.engine文件和model標(biāo)識[s/m/l/x/...] ./yolov5 -s yolov5s.wts yolov5s.engine s # -d 命令用于執(zhí)行推理,兩個參數(shù)分別是engine和要測試的目錄 ./yolov5 -d yolov5s.engine ../samples

運行沒報錯,就可以在build文件夾里看到帶框的zidane.jpg了

個參數(shù)分別是engine和要測試的目錄
./yolov5 -d yolov5s.engine …/samples

運行沒報錯,就可以在build文件夾里看到帶框的zidane.jpg了

總結(jié)

以上是生活随笔為你收集整理的TensorRT加速应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。