安装torch2trt 和TensorRT 踩坑记录

以前一直以为pytorch模型转tensorrt的话,需要先转onnx才行,突然发现还有torch2trt这个东东,可以直接转torch模型为tensorrt。

安装torch2trt

torch2trt下载地址
readme上有安装说明,按他说的干就是,安装中出了一个问题,在执行sudo python setup.py install这一步时,报No module named setuptools,我当时就惊了,这个包我还是有点眼熟的,以前专门安装了的,用pip 一查,我去,上面有setuptools啊,用pip/pip3安装,把setuptools版本升级了,还是没法。百度到篇博客,给的方法时重新下载源码安装,我照做了,没法。后来各种尝试,终于找到了解决方法,把sudo去掉就好。点我看哈

安装TensorRT

在官网下载
可参考这篇博客
在将tensorrt里的lib添加到环境变量时,将环境变量打出来,发现前面多了个冒号,后面出现问题时,一直以为是这里的锅,最后才发现这个冒号不影响。感觉这个冒号是cuda环境设置的问题,改了半天也没弄好,先放过它吧
在这里插入图片描述
安装好后,运行代码,又出现问题了:ImportError: libnvinfer.so.5: cannot open shared object file: Nosuch file or directory。参考这篇博客
1)ImportError: libnvinfer.so.5: cannot open shared object file: Nosuch file or directory
2)ImportError: libnvonnxparser.so.0: cannot open shared object file:No such file or directory
3)ImportError: libnvonnxparser_runtime.so.0: cannot open shared objectfile: No such file or directory
4)ImportError: libnvparsers.so.5: cannot open shared object file: Nosuch file or directory
5)ImportError: libnvinfer_plugin.so.5: cannot open shared object file:No such file or directory
解决办法:
1) sudo cp …/TensorRT-5.0.2.6/targets/x86_64-linux-gnu/lib/libnvinfer.so.5 /usr/lib/
2)sudo cp …/TensorRT-5.0.2.6/targets/x86_64-linux-gnu/lib/libnvonnxparser.so.0/usr/lib/
3) sudo cp …/TensorRT-5.0.2.6/targets/x86_64-linux-gnu/lib/libnvonnxparser_runtime.so.0 /usr/lib/
4) sudo cp …/TensorRT-5.0.2.6/targets/x86_64-linux-gnu/lib/libnvparsers.so.5 /usr/lib/
5) sudo cp …/TensorRT-5.0.2.6/targets/x86_64-linux-gnu/lib/ libnvinfer_plugin.so.5 /usr/lib/

本以为终于可以愉快的玩耍了,结果又报错:ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory。
根据网上的建议,检测环境变量,没发现问题;软连接也有,删了重新建立,没用,留个链接以备不时之需。
最后突然想起以前也遇到过类似的问题,还顺便在博客上记了下。
点我解决

补充

由于想将yolov3转换为tensorrt,需要用到上采样,而python setup.py install安装的torch2trt是不行的。必须用作者提供的第二种安装方法:python setup.py install --plugins
按readme说明,先 sudo apt-get install libprotobuf* protobuf-compiler ninja-build
然而报错如下:在这里插入图片描述
尝试安装zlib1g-dev:sudo apt-get install zlib1g-dev,报错:在这里插入图片描述
参考这篇博客
Linux下经常需要安装不同类型的库,在Ubuntu中,这些类库都是以“lib_name-version”的形式命名的。很多库之间存在依赖关系,即要安装这个就必须安装那个。有时候,类库之间依赖关系无法满足,你所要安装的程序就不能安装。
这类问题大多是由于相互依赖的几个库中一个或多个的版本已经更新,而用户要安装的库依赖于这几个库的较低的版本

sudo apt-get install aptitude
sudo aptitude install libprotobuf-dev

运行后,不接受未安装方案,接受降级方案
在这里插入图片描述
sudo apt-get install libprotobuf* protobuf-compiler ninja-build

然而还是有问题:In file included from torch2trt/converters/interpolate/interpolate.pb.cc:4:0: ./torch2trt/converters/interpolate/interpolate.pb.h:10:40: fatal error: google/protobuf/port_def.inc: 没有那个文件或目录 compilation terminated. [2/3] g++ -c -fPIC torch2trt/converter...c++11 -I/usr/include/aarch64-linux-gnu FAILED: g++ -c -fPIC torch2trt/converters/interpolate/interpolate.cpp -I/usr/local/cuda/include -I/home/lgy/anaconda3/lib/python3.7/site-packages/torch/include -I/home/lgy/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I. -std=c++11 -I/usr/include/aarch64-linux-gnu torch2trt/converters/interpolate/interpolate.cpp:2:21: fatal error: NvInfer.h: 没有那个文件或目录 compilation terminated. ninja: build stopped: subcommand failed.
在这里插入图片描述
有可能是protoc版本太低

protoc --version

libprotoc默认为2.x版本,升级为3.x版本
protoc下载地址
下载protoc-3.11.4-linux-x86_64.zip并解压
在解压后的文件夹内,将bin文件夹内的protoc文件覆盖到/usr/bin路径下
在这里插入图片描述
并未解决问题,待续

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
安装torch2trt有以下几个步骤: 1. 首先,你需要克隆torch2trt的GitHub仓库并安装它。在命令行中运行以下命令: ``` git clone https://github.com/NVIDIA-AI-IOT/torch2trt cd torch2trt python setup.py install ``` 这将克隆项目源代码并安装torch2trt。 2. 接下来,你需要安装一些依赖项。在命令行中运行以下命令: ``` pip install onnx cython ``` 这将安装ONNX和Cython。 3. 然后,你需要安装pycuda。你可以从以下链接下载pycuda的离线安装包并进行安装:[https://pypi.org/project/pycuda/2022.1/#history](https://pypi.org/project/pycuda/2022.1/#history) 4. 最后,你需要安装TensorRT。你可以从NVIDIA开发者网站的以下链接下载TensorRT:[https://developer.nvidia.com/tensorrt](https://developer.nvidia.com/tensorrt) 完成上述步骤后,你就成功地安装torch2trt。你可以开始使用它来将PyTorch模型转换为TensorRT模型进行推理了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【TensorRTtorch2trt安装与使用简例](https://blog.csdn.net/dou3516/article/details/124538557)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Win10 安装 Tensorrttorch2trt教程](https://blog.csdn.net/sanxiaw/article/details/127882541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值