目录
方法一:卸载生产服务器的tensorrt,下载与训练服务器相同版本
起因
在做yolo模型训练时使用了训练服务器,训练结束把模型转换成了.engine模型,在训练服务器上可以正常使用,但把模型放到生成服务器就报错
红色框为报错行,后经过调试发现511行model的值居然是None
分析
因为在训练服务器是可以正常运行,首先就排除了模型缺失的情况,再则检查模型路径也无误
那么就可能是虚拟环境中必要的依赖和软件包不兼容问题
检查发现训练服务器tensorrt版本为10.2.0
而生产服务器tensorrt版本为8.5.3.1
版本确实不同
两种解决方案
方法一:卸载生产服务器的tensorrt,下载与训练服务器相同版本
pip uninstall 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
标签:engine,训练,no,模型,tensorrt,文件夹,报错,CUDA,服务器
From: https://blog.csdn.net/qq_57018478/article/details/140756609