環境準備
主要是根據工程環境需要,參考trt文檔安裝trt
- 1.查看trt適配情況 :鏈接跳轉,注意,不同版本的trt有不同版本的文檔,請以最新文檔為準。
- 2.根據自己系統情況下載相關包 因為我自己拉的docker鏡像是ubuntu16.04,CUDA10的驅動,所以我還需要下載cuDNN和TensorRT。
?
目錄
- ?
- cuDNN安裝
- tensorRT安裝
- 可能會遇到的問題
- ?
cuDNN安裝
- 去官網下載合適版本的cuDNN ==> 解壓 ==> 復制相關文件到系統的CUDA目錄
下載完安裝包后如下:
root@iZbp120zfnu5353tdx5hq7Z:/data/workspace/docker/trtfile/test# ls
cudnn-10.0-linux-x64-v7.6.3.30.tgz
解壓后如下:
root@iZbp120zfnu5353tdx5hq7Z:/data/workspace/docker/trtfile/test# tar xvf cudnn-10.0-linux-x64-v7.6.3.30.tgz
cudnn-10.0-linux-x64-v7.6.3.30.tgz cudnn
復制cudnn中相關文件到系統CUDA相關目錄中
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
上面完成后可能需要添加權限:(可以不做,一般原來就是可執行的)
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
查看cudnn版本是否安裝好(顯示如下則成功):
root@3792e2c3dbce:/dacker/data/workspace/docker/torch2trt# cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 3
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)#include "driver_types.h"
tensorRT安裝
- 去官網下載安裝包 ==> 解壓 ==> 進入到解壓目錄中的python目錄,pip安裝tensorrt ==> 配置環境變量(linux一般修改.bashrc文件即可)
下載完安裝包并解壓后如下:
root@iZbp120zfnu5353tdx5hq7Z:/data/workspace/docker/trtfile# ls
cuda cudnn-10.0-linux-x64-v7.6.3.30.tgz TensorRT-5.1.5.0 TensorRT-5.1.5.0.Ubuntu-16.04.5.x86_64-gnu.cuda-10.0.cudnn7.5.tar.gz
進入到解壓目錄中安裝(根據你系統的版本安裝相應的版本)
root@iZbp120zfnu5353tdx5hq7Z:/data/workspace/docker/trtfile/TensorRT-5.1.5.0/python# ls
tensorrt-5.1.5.0-cp27-none-linux_x86_64.whl tensorrt-5.1.5.0-cp35-none-linux_x86_64.whl tensorrt-5.1.5.0-cp37-none-linux_x86_64.whl
tensorrt-5.1.5.0-cp34-none-linux_x86_64.whl tensorrt-5.1.5.0-cp36-none-linux_x86_64.whlroot@iZbp120zfnu5353tdx5hq7Z:/data/workspace/docker/trtfile/TensorRT-5.1.5.0/python# pip install tensorrt-5.1.5.0-cp36-none-linux_x86_64.whl
配置環境變量:
$ vim ~/.bashrc # 打開環境變量文件
# 將下面環境變量寫入環境變量文件并保存
export LD_LIBRARY_PATH=TensorRT解壓路徑/lib:$LD_LIBRARY_PATH
# 使剛剛修改的環境變量文件生效
$ source ~/.bashrc
#當cuda環境沒有指定時,也需要指定
export CUDA_INSTALL_DIR=/usr/local/cuda-9.0
export CUDNN_INSTALL_DIR=/usr/local/cuda-9.0
測試TensorRT 是否安裝成功,進入python編輯器加載tensorrt:
>>>import tensorrt
可能會遇到的問題
Traceback (most recent call last):File "test.py", line 3, in <module>import torch2trtFile "/dacker/data/workspace/docker/torch2trt/torch2trt/__init__.py", line 1, in <module>from . import core, handlersFile "/dacker/data/workspace/docker/torch2trt/torch2trt/core.py", line 12, in <module>import tensorrt as trtFile "/dacker/data/workspace/docker/evenv_docker/lib/python3.6/site-packages/tensorrt/__init__.py", line 1, in <module>from .tensorrt import *
ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
這個問題根據報錯情況和cudnn有關,首先排查cudnn是否安裝正確(排查方法安裝中有)如果有問題,重裝一遍,如果沒有問題,檢查環境變量配置,將安裝過程中的環境變量配置完整,即可。(以為cuda安裝環境的問題,有時也會報此類錯,如果以上兩點沒問題,需要添加庫及打布丁)
#打開bashrc (打不開請用sudo,有些環境需要sudo才能打開)
vim ~/.bashrc#在里面添加路徑(也可指定cuda版本)
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"#使改變生效
source .bashrc #此時終端在用戶名目錄下 ~#檢查是否添加成功(下面兩條語句會打印出剛才添加的內容)
echo $PATH
echo $LD_LIBRARY_PATH
補充
英偉達官網:https://developer.nvidia.com/跳轉