ubuntu16.04安装TensorRT7.0.0.11并使用python API推理

环境

cuda 10.2
cudnn 7.6.5
anaconda 3.5.1
python=3.6.11

安装过程

详见,亲测可行

https://blog.csdn.net/qq_40672851/article/details/107380136

可能遇到的问题

安装完成后,在命令行输入:

import tensorrt
tensorrt.__version__
'7.0.0.11'

则可以成功打印版本,然后在Pycharm中使用同一虚拟环境,在import tensorrt as trt则会出现以下错误:

1)ImportError: libnvinfer.so.7: cannot open shared object file: Nosuch file or directory
2)ImportError: libnvonnxparser.so.7: cannot open shared object file:No such file or directory
3)ImportError: libnvparsers.so.7: cannot open shared object file: Nosuch file or directory
4)ImportError: libnvinfer_plugin.so.7: cannot open shared object file:No such file or directory
5)ImportError: libnvrtc.so.7: cannot open shared object file:No such file or directory

解决方法

将TensorRT中的链接文件.so文件进行复制到/usr/lib/文件夹中,Pycharm就可以读取相关的链接文件进行链接。

sudo cp /home/alien/Documents/TensorRT-7.0.0.11/lib/libnvinfer.so.7 /usr/lib/
sudo cp /home/alien/Documents/TensorRT-7.0.0.11/lib/libnvonnxparser.so.7 /usr/lib/
sudo cp /home/alien/Documents/TensorRT-7.0.0.11/lib/libnvparsers.so.7 /usr/lib/
sudo cp /home/alien/Documents/TensorRT-7.0.0.11/lib/libnvinfer_plugin.so.7 /usr/lib/
sudo cp /usr/local/cuda-10.2/lib64/libnvrtc.so.10.2 /usr/lib/
sudo cp /home/alien/Documents/TensorRT-7.0.0.11/lib/libmyelin.so.1 /usr/lib/

即报哪个so文件找不到,就进行上述操作。

onnx转tensorrt并进行推理

上次介绍了pth转onnx的方法,具体详见pth转onnx模型,这次使用标准的Resnet50.onnx进行示例推理。

  1. onnx解析转成engine文件
#--*-- coding:utf-8 --*--
import tensorrt as trt
import os

onnx_model_path = "./model/resnet50.onnx"

TRT_LOGGER = trt.Logger()

def get_engine(max_batch_size=1, onnx_file_path="", engine_file_path="", fp16_mode=False, save_engine=False):
    """
    params max_batch_size:      预先指定大小
    params onnx_file_path:      onnx文件路径
    params engine_file_path:    待保存的序列化的引擎文件路径
    params fp16_mode:           是否采用FP16
    params save_engine:         是否保存引擎
    returns:                    ICudaEngine
    """
    # 如果已经存在序列化之后的引擎,则直接反序列化得到cudaEngine
    if os.path.exists(engine_file_path):
        pr
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值