1. 程式人生 > 其它 >Tensorrt環境安裝及yolov5模型轉換

Tensorrt環境安裝及yolov5模型轉換

Tensorrt的執行需要環境中有Opencv的編譯環境,所以首先要opencv的編譯

一.opencv 編譯

1. 安裝依賴項

    sudo apt-get install cmake
    sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
    sudo apt-get install libgtk2.0-dev

2. 下載自己需要的版本

https://opencv.org/releases/

解壓後放在自己想放的目錄下,在opencv-4.5.0目錄下 建立build 資料夾, 進入 build 資料夾下,開啟終端

    unzip opencv-4.5.0.zip
    cd opencv-4.5.0/
    mkdir build
    cd build/

3.編譯cmake

3.1.安裝cmake以及依賴庫

    sudo apt-get install cmake
    $ sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper1 libjasper-dev

錯誤:E: 無法定位軟體包 libjasper-dev

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

成功的解決了問題,其中libjasper1是libjasper-dev的依賴包

3.2.安裝cmake

$ cmake ..  #使用網友的後面加一堆配置就會遇到各種報錯,這種編譯一直用的很順手,沒有報錯

然後就等待安裝完成,最後輸出如下,沒有報錯就說成功了一半

3.3 編譯

$ sudo make 或者 sudo make -j4

這裡需要耐心的等待編譯

3.4 安裝

$ sudo make install 

對應解除安裝就是 :

$ sudo make uninstall 

測試 opencv 版本的。

opencv_version 

到此opencv原始碼編譯成功。

二.TensorRT下載安裝

1.對應自己的Cuda 和Cudnn以及系統的版本

$ nvcc -V 												   #檢視cuda的版本
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2  #檢視cudnn的版本
$ cat  /etc/issue                                              #檢視ubuntu系統版本

我的版本資訊如下 :

2.下載

TensorRT連結

直接點選下載進入選項


這裡選擇一般選擇相對使用者比較多的版本。


注意:這裡要注意選擇與自己cuda和作業系統的版本相適應的下載,否則兄弟你會懷疑人生的(千萬不要不符合,也不要比你的環境高也不要低,不然很麻煩,博主自己第一次按的時候沒注意看,導致一直報錯) 。

3.安裝TensorRT

(1)將下載的壓縮檔案進行解壓:

$ tar zxvf  TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz

(2)環境配置:

解壓得到TensorRT的資料夾,將裡邊的lib絕對路徑新增到環境變數中

vim ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/software/TensorRT-7.2.2.3/lib

重新整理配置:source ~/.bashrc

(3) 安裝TensorRT

$ cd TensorRT-7.2.2.3/python/
$ pip install tensorrt-7.2.2.3-cp37-none-linux_x86_64.whl 

博主親測,這裡你的python環境並沒有限制,py35,py36,py37都可 ,一般安裝與自己python版本對應的最穩。

#安裝UFF,支援tensorflow模型轉化
$ cd TensorRT-7.2.2.3/uff/
$ pip install uff-0.6.9-py2.py3-none-any.whl 
#安裝graphsurgeon,支援自定義結構
cd TensorRT-7.2.2.3/graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl 

以上,我們就成功的將tensorRT安裝完了,試著執行一下python,然後看能不能匯入這些模組。 如果成功的import tensorrt,那麼就算安裝成功咯。

ps:import uff的時候,需要提前install tensorflow模組。

pip install tensorflow-gpu==2.4.0

tensorrt 部署yolov5s (v5.0)參考地址:

https://blog.csdn.net/xingtianyao/article/details/111353568