ubantu16.04 Tensorrt-onnx 安装记录

最近因项目需求,需要用tensorrt加速模型推理,安装Tensorrt-onnx这个时,大概出现了一百亿个问题,真的是心力憔悴。文中若有错误的地方,欢迎指正!


官方给的安装教程,看起来很简单,然而官方教程是建立在理想条件下,我们的实际条件八成是最糟糕情况,什么是最糟糕情况,就是除了 cd、mkdir 这种无脑命令外,其他命令全出现问题,问题里面又套着问题~~

官方教程如下:

git clone --recurse-submodules https://github.com/onnx/onnx-tensorrt.git
cd onnx-tensorrt
mkdir build
cmake .. -DTENSORRT_ROOT=<tensorrt_install_dir> -DGPU_ARCHS="61"
make -j8
sudo make install

1. git clone --recurse-submodules https://github.com/onnx/onnx-tensorrt.git

  • Submodule path checked out
  • 解决方式:手动下载

2. cmake .. -DTENSORRT_ROOT=<tensorrt_install_dir> -DGPU_ARCHS="61"

2.1 <tensorrt_install_dir>路径格式不对

因为我不太熟悉linux操作,填写路径没有去掉<>这个符号,导致路径搜寻失败。DGPU_ARCHS为GPU算力,我的1080Ti是61,其他类型百度即可。

2.2 cmake版本太低

解决方式:
升级版本即可。

2.3 cmake Could NOT find Protobuf (missing: Protobuf_LIBRARIES Protobuf_INCLUDE_DIR)

解决方式:sudo apt-get install protobuf-compiler libprotobuf-dev

2.4 ShapedWeights.hpp:25:21: fatal error: NvInfer.h: No such file or directory

解决方式:
include_directories(/home/wzp/project/trt/TensorRT-7.0.0.11/include)
link_directories(/home/wzp/project/trt/TensorRT-7.0.0.11/lib)

2.5 PLUGIN-NOTFOUND;TENSORRT_LIBRARY_MYELIN-NOTFOUND

解决方式:添加tensorrt路径
export PATH="$PATH:/home/ubuntu/Download/TensorRT-5.1.5.0"

2.6 The command could not be located because '/usr/bin' is not included in the PATH environment variable.

按2.5操作完之后,系统快捷命令不能用了
解决方式:
采用绝对路径:sudo和vim的绝对路径分别是:/usr/bin/sudo   /usr/bin/vi
重启命令框

2.7 一堆错误

error: kBOOL is not a member of nvinfer1::DataType
解决方式:寻遍千山万水,未能解决!

2.8 找不到TensorRT library,TENSORRT_LIBRARY_MYELIN-NOTFOUND

解决方式:
export PATH="$PATH:/home/ubuntu/Download/TensorRT-5.1.5.0"

因为2.7的错误一直未解决,寻找方案的时候从国外的一个论坛得到了启示,我的Tensort和Tensorrt-onnx 版本不对应~~
我的Tensorrt是6版本,而Tensorrt-onnx是Tensorrt7版本,我真是个小呆瓜!


6.0的工程地址在这里:  https://github.com/onnx/onnx-tensorrt/tree/6.0-full-dims

2.9 onnx-tensorrt/third_party/onnx does not contain a CMakeLists.txt file.

解决方式:
github上下载项目的时候,没有把/onnx-tensorrt-master/third_party/onnx/里的内容下载,手动下载即可。

3.make -j8
   sudo make install

3.1 unable to execute 'swig': No such file or directory

解决方式:
下载安装swig,地址:https://www.cnblogs.com/riasky/p/3483641.html

3.2 Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

解决方式:
权限不够  sudo vim /etc/profile

3.3 swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解决方式:

设置软连接
ln -s /home/zzl/anaconda3/envs/gpu/lib/libpcre.so.1 /usr/lib/libpcre.so.1

3.4 NvOnnxParser.h:26:21: fatal error: NvInfer.h: No such file or directory

解决方式:
修改setup.py
SWIG_OPTS = [
    '-I{你的tensorrt目录}/include',
    '-c++',
    '-modern',
    '-builtin',
]

3.5 error: can't create or remove files in install directory

解决方式:

权限不够。
sudo python setup.py install

3.6 unable to execute 'swig': No such file or directory

解决方式:看来之前没安成功
sudo apt install swig

 3.7 NvOnnxParser.h:26:21: fatal error: NvInfer.h: No such file or directory

compilation terminated.error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
解决方式:按照2.13操作无用,在setup.py添加
INC_DIRS = ["/opt/tensorrt/include"]

3.8 警告 WARNING: nvcc not in path.

*** May need to set CUDA_INC_DIR for installation to succeed.

其他的错误

1.make时 出现 fatal error: opencv2/opencv.hpp: No such file or directory

解决方式:
在CMakeLists里,在find_package(…)前面加入:
set(OpenCV_DIR xxxx) (设置路径)

 

 


总结:其实还有很多问题没记录,上述列出的问题及解决方式也是当初随手记录的,可能有错误的,可能有步骤不完整的,仅供参考。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值