TensorRT的環(huán)境配置(包括Windows和Ubuntu)
環(huán)境
windows 10 64bit ubuntu 18.04 64bit CUDA 11.2 cuDNN 8 TensorRT 8
前言
TensorRT 是 NVIDIA 公司推出的能夠加速模型推理的框架。本文分別在 windows 10 和 ubuntu 18.04 上進(jìn)行安裝。
cuda和cudnn
TensorRT 依賴于 cuda 和 cudnn,它們的安裝前面已經(jīng)寫(xiě)過(guò),可以參考
ubuntu上安裝cuda和cudnn
windows上安裝cuda和cudnn
在windows上安裝
下載鏈接: https://developer.nvidia.com/tensorrt-getting-started,這里需要根據(jù)自己系統(tǒng)的cuda 和 cudnn 版本來(lái)選擇下載的文件,這里下載的是 TensorRT-8.2.1.8.Windows10.x86_64.cuda-11.4.cudnn8.2.zip,解壓后,將文件夾中的 lib 目錄加入到系統(tǒng)環(huán)境變量 PATH 中

同時(shí)將 lib 下的文件拷貝到 cuda 安裝目錄下的 bin 文件夾下,比如我這里的 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
然后使用 visual studio 打開(kāi)示例工程 D:\Tools\TensorRT-8.2.1.8\samples\sampleMNIST\sample_mnist.sln 來(lái)驗(yàn)證下安裝是否正確。進(jìn)入 visual studio 后,右鍵點(diǎn)擊 sample_mnist, 進(jìn)入 屬性,進(jìn)入 VC++ 目錄

在 可執(zhí)行文件目錄 中添加 tensorrt中的 lib 目錄

然后在 C/C++ --> 常規(guī) --> 附加包含目錄

添加 tensorrt 中的 include 目錄

如果在運(yùn)行中出現(xiàn)頭文件 cuda_runtime_api.h 找不到的情況,就在上面的 附加包含目錄 中添加 cuda 中的 inlcude 目錄

最后,運(yùn)行程序,可以得到


在ubuntu上安裝
下載鏈接: https://developer.nvidia.com/tensorrt-getting-started,這里需要根據(jù)自己系統(tǒng)的cuda 和 cudnn 版本來(lái)選擇下載的文件,建議下載 tar 包而不是 deb 包,方便后面驗(yàn)證環(huán)境
#?解壓
tar?xvf?TensorRT-8.2.1.8.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz
#?移動(dòng)到/usr/local目錄下,這一步非必須
sudo?mv?TensorRT-8.2.1.8?/usr/local/
編輯文件 ~/.bashrc,修改對(duì)應(yīng)的環(huán)境變量
export?PATH=/usr/local/cuda/bin:/usr/local/TensorRT-8.2.1.8/bin:$PATH
export?LD_LIBRARY_PATH=/usr/local/cuda/lib64:/home/xugaoxiang/anaconda3/lib:/usr/local/TensorRT-8.2.1.8/lib:$LD_LIBRARY_PATH
然后使能環(huán)境變量,重啟 terminal,或者執(zhí)行 source ~/.bashrc
最后來(lái)驗(yàn)證一下安裝是否成功
使用 TensorRT 自帶的示例來(lái)驗(yàn)證
cd?/usr/local/TensorRT-8.2.1.8
cd?sample/sampleMNIST
sudo?apt?install?build-essential
make
../../bin/sample/sample_mnist
如果沒(méi)有報(bào)錯(cuò)的話,就說(shuō)明安裝成功了。
python中使用
要想在 python 環(huán)境中使用 tensorrt,這部分內(nèi)容,windows 和 ubuntu 是一樣的
#?安裝uff,它是一種編碼方式,在將tf轉(zhuǎn)換成tensorrt需要用到
pip?install?uff/uff-0.6.9-py2.py3-none-any.whl
#?安裝graphsurgeon,它是對(duì)uff編碼進(jìn)行操作的庫(kù)
pip?install?graphsurgeon/graphsurgeon-0.4.5-py2.py3-none-any.whl
#?python版本,安裝包中提供了3.6、3.7、3.8、3.9
pip?install?python/tensorrt-8.2.1.8-cp38-none-linux_x86_64.whl
驗(yàn)證的話,執(zhí)行
python?-c?"import?tensorrt"
如果沒(méi)有報(bào)錯(cuò)就說(shuō)明安裝好了
TensorRT的更新和卸載
windows
將新版本的安裝路徑下的 lib目標(biāo)添加到系統(tǒng)環(huán)境變量PATH下,并將舊的版本路徑刪除直接刪除安裝包,并刪除系統(tǒng)環(huán)境變量 PATH中對(duì)應(yīng)的路徑ubuntu
版本更新的話,下載新版本 tar包,解壓后替換掉原來(lái)的/usr/local/下的老版本,然后更新下~/.bashrc內(nèi)環(huán)境變量中的版本號(hào)卸載的話,直接刪除文件, sudo rm -rf /usr/loca/TensorRT*,然后去掉~/.bashrc中對(duì)應(yīng)環(huán)境變量中的內(nèi)容
