Tensorrt環境安裝及yolov5模型轉換
阿新 • • 發佈:2021-06-24
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. 下載自己需要的版本
解壓後放在自己想放的目錄下,在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