什么是TensorRT
nvidia给出的一个推理框架,包含模型优化,运行调度等,在nvidia的显卡上进行模型部署绕不开的一个推理框架。
看到后面的“DLA”没?Deep Learning Accelerator,包含硬件级DLA和软件DLA,后面有空了可以我们可以讲一讲这个。
安装方法
TensorRT有四种安装方法:
- apt包管理器安装,要求cudnn和cuda toolkit也是用apt安装的才行
- tar压缩包安装,自由,但是要自己配置
- Python pip安装,只能安装Python版本,C++的头文件等没法安装
- zip压缩包安装,只能用于Windows下安装
tar和zip都是压缩包,为什么很多软件都喜欢用tar来作安装包呢?
搜了一下,看不懂,反正Linux生态下都爱用,可能是因为自带tar工具开箱即用吧
我们选用tar安装
下载地址
TensorRT有两种版本,一种EA一种GA,EA尝鲜版,GA稳定版。
解压:
tar -xzvf your_tar_file
将解压的文件夹移动到/usr/local/下
sudo mv /TensorRT_file_folder /usr/local
为lib和include创建软链接
sudo ln -sf /usr/local/TensorRT_file_folder/include /usr/local/include/TensorRT
sudo ln -sf /usr/local/TensorRT_file_folder/lib /usr/local/lib/TensorRT
设置ldconfig:
cd /etc/ld.so.conf.d
sudo echo "/usr/local/lib/TensorRT" > tensorrt.conf
sudo ldconfig
安装python版,注意python版本
cd TensorRT_file_folder/python
python -m pip install ./TensorRT_version_pyversion_none_arch_.wheel
运行sample
cd TensorRT_file_folder/samples
cd sampleOnnxMNIST
make
cd ../../bin
./sample_onnx_mnist
运行成功长这样:
如果报错:
Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.6.1: libnvinfer_builder_resource.so.8.6.1: cannot open shared object file: No such file or directory)
将这个文件cp到/usr/lib中
sudo cp /usr/local/TensorRT_file_folder/lib/libnvinfer_builder_resource.so.8.6.1 /usr/lib
至于为什么会这样,我也不知道,按道理来说这个lib已经在链接器的查找路径中了,不应该出现这个error,网上看资料甚至扯到了什么黑客技术,大概率跟这个so的内部实现有关,不懂。
如果感觉有帮助,点赞评论+关注!thanks