参考链接:
安装onnx-graphsurgeon_一位不愿暴露自己的郑某人的博客-CSDN博客
YOLOv7 部署到 TensorRT(C++ ) - 知乎 (zhihu.com)
YOLOv7 Tensorrt部署教学_哔哩哔哩_bilibili
(1条消息) YOLOv7 Tensorrt Python部署教程_一笑奈何LHY的博客-CSDN博客
先安装onnx,onnx-graphsurgeon等.....这些就以上参考链接有
pip install onnx
pip install nvidia-pyindex
pip install onnx-graphsurgeon
安好了这几个
先把需要用的下载下来,下载地址:
GitHub - Monday-Leo/YOLOv7_Tensorrt: A simple implementation of Tensorrt YOLOv7
将下载文件夹中的efficientNMS.py与export-onnx.py复制到yolov7的train.py同级目录下
然后运行export-onnx.py文件,需要修改
运行成功,保存onnx模型,在你需要转换的模型同级目录中
在这个网址可以可视化网络结构:Netron
导出的onnx文件是通用的,在任意设备都可以使用
TensorRT部署用python
将onnx模型转换为engine模型步骤:
将导出的onnx模型放入下载好的tensorrt的bin文件夹下
在目录处输cmd进入命令行,这里需要修改--onnx=./后面的内容,即你训练好模型的名字以及后面保存的名字
trtexec --onnx=./best.onnx --saveEngine=./yolov7-tiny-best_fp16.engine --fp16 --workspace=200
然后运行,等待..............................时间有点长
这样就转换好了,保存在这个文件夹中
然后回到下载的文件夹中运行infer.py,需要修改模型地址与预测图片
注意,这里我将源代码修改了,不是显示图片二是保存图片,在infer同级目录
结果:
结束啦~~~~~~~