Tensorrt的使用:pytorch->onnx->trt

0. 电脑环境(此环境可供参考,因为本人在配置时,尝试不少版本间的配合使用!!!难受!!!)

        tensorrt的安装推荐

系统:Ubuntu 18.04
cuda: 10.2
cudnn: 8.0.2(推荐配置8.2.1)
torch: 1.10.0
torchvision: 0.11.2
Tensorrt: 8.2.3.0(推荐此版本,在我使用中,其他版本的容易有兼容性问题)

1. pytorch转onnx参考如下博客进行转换:

Pytorch分类模型转onnx以及onnx模型推理 - 知乎(一)Pytorch分类模型转onnx 参考:PyTorch之保存加载模型PyTorch学习:加载模型和参数_lscelory的博客-CSDN博客_pytorch 加载模型 实验环境:Pytorch1.4 + Ubuntu16.04.5 1.Pytorch之保存加载模型1.1 当提到保存…https://zhuanlan.zhihu.com/p/159379768        按照上面的方法使用,在进行onnx转trt时会报动态batch的错误,因此,需要改成静态batch,把torch.onnx.export()部分改写为:

torch.onnx.export(model_yolov3,
                    x,
                    export_onnx_file,
                    opset_version=11,
                    export_params=True,
                    input_names=["input"],	# 输入名
                    output_names=["output"]	# 输出名
                    )

2. 生成onnx文件之后,需要转成trt文件进行模型的推理。

        onnx转trt参考如下博客进行转换,使用onnx2trt工具进行转换:

TensorRT教程4:使用onnx2trt工具转engine_米斯特龙_ZXL的博客-CSDN博客_onnx2trt使用onnx2trt工具转engineonnx-tensorrt 地址:https://gitee.com/Mr_xiaolong/onnx-tensorrt1、安装onnx2trt注意我用的trt7.2.3.4版本#克隆master分支到本地,因为默认master分支是7.2.3.4git clone https://gitee.com/Mr_xiaolong/onnx-tensorrt.gitgit submodule init#子模块初始化git submodule update #更新https://blog.csdn.net/weixin_41562691/article/details/118277630        注:我使用的是cuda10.2,有2个补丁需要下载安装,如果未安装,会报下面的错误。

[2021-07-26 07:16:07   ERROR] 2: [ltWrapper.cpp::setupHeuristic::327] Error Code 2: Internal Error (Assertion cublasStatus == CUBLAS_STATUS_SUCCESS failed.)
terminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to create object
已放弃 (核心已转储)

        安装方式为

                1. 下载补丁1、2

                2. 运行:sudo sh cuda_10.2.1_linux.run 进行安装。安装时,去掉CUDA Toolkit 10.2选  项,因为已经安装。

你可能感兴趣的:(软件安装,ubuntu,python,深度学习,pytorch)