解决yolo使用engine模型推理报错AttributeError: “NoneType’cbject has no attribute ‘create_execution_context‘

目录

起因

分析

两种解决方案

方法一:卸载生产服务器的tensorrt,下载与训练服务器相同版本

方法二:将训练服务器训练的pt模型下载出来到生产服务器导出


起因

在做yolo模型训练时使用了训练服务器,训练结束把模型转换成了.engine模型,在训练服务器上可以正常使用,但把模型放到生成服务器就报错

红色框为报错行,后经过调试发现511行model的值居然是None

分析

因为在训练服务器是可以正常运行,首先就排除了模型缺失的情况,再则检查模型路径也无误        

那么就可能是虚拟环境中必要的依赖和软件包不兼容问题

检查发现训练服务器tensorrt版本为10.2.0

而生产服务器tensorrt版本为8.5.3.1

版本确实不同

两种解决方案

方法一:卸载生产服务器的tensorrt,下载与训练服务器相同版本

pip uninstall tensorrt

前往官网下载与训练服务器版本相同的tensorrt(链接

需要注册登录才能下载

具体如下图:

解压后打开

再打开自己cuda安装的路径

默认路径为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X

将bin文件夹中全部文件复制到CUDA对应bin里面

将include文件夹中全部文件复制到CUDA对应的include里面

将lib文件夹中的.lib文件复制到CUDA对应lib/x64里面

将lib文件夹中的.dll文件复制到CUDA对应bin里面

之后点击打开解压文件夹中的python文件夹,选择三个与自己python版本相同的直接pip安装即可

tensorrt10.0以下的分别点击graphsurgeon、onnx_graphsurgeon、uff安装

方法二:将训练服务器训练的pt模型下载出来到生产服务器导出

half代表使用半精度导出

python export.py --weights XXX.pt --include engine --half --device 0

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值