YOLOv7 Tensorrt Python部署教程

B站教学视频

https://www.bilibili.com/video/BV1q34y1n7Bw/

Github仓库地址

https://github.com/Monday-Leo/YOLOv7_Tensorrt

Introduction

YOLOv7是YOLOv4的原班人马(Alexey Bochkovskiy在内)创造的目标检测模型,在保证精度的同时大幅降低了参数量,本仓库实现 YOLOv7的tensorrt部署

; Environment

  • Tensorrt 8.4.1.5
  • Cuda 10.2 Cudnn 8.4.1
  • onnx 1.12.0
  • onnx-simplifier 0.3.10
  • Torch 1.7.1

Benchmark

ModelSizemAPtest 0.5:0.95GTX1650 FP16(ms)GTX1650 FP32(ms)YOLOv7-tiny64038.78.711.6YOLOv764051.427.247.5YOLOv7-X64053.144.282.9

说明:此处FP16,fp32预测时间包含 preprocess+inference+nms,测速方法为warmup10次,预测100次取平均值,并未使用trtexec测速,与官方测速不同;mAPval为原始模型精度,转换后精度未测试。

Quick Start

下载 YOLOv7仓库。

git clone https://github.com/WongKinYiu/yolov7

将本仓库的 EfficientNMS.pyexport_onnx.py复制到 yolov7下,导出含有EfficientNMS的ONNX模型。

python export_onnx.py --weights ./weights/yolov7.pt

将生成的 onnx模型复制到 tensorrt/bin文件夹下,使用官方 trtexec转化添加完EfficientNMS的onnx模型。 FP32预测删除 --fp16 参数即可

trtexec --onnx=./yolov7.onnx --saveEngine=./yolov7_fp16.engine --fp16 --workspace=200

等待生成序列化模型后,修改本仓库 infer.py模型路径和图片路径

trt_engine = TRT_engine("./trt_model/yolov7_fp16.engine")
img1 = cv2.imread("./pictures/zidane.jpg")
python infer.py

Reference

https://github.com/WongKinYiu/yolov7

https://github.com/ultralytics/yolov5

https://github.com/Linaom1214/tensorrt-python

https://github.com/triple-Mu

Original: https://blog.csdn.net/weixin_45747759/article/details/125677518
Author: 一笑奈何LHY
Title: YOLOv7 Tensorrt Python部署教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/624396/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球