## Introduction
**YOLOv7**是YOLOv4的原班人马(**Alexey Bochkovskiy**在内)创造的目标检测模型,在保证精度的同时大幅降低了参数量,本仓库实现**YOLOv7的tensorrt部署**。
<div align="center">
<img src="assets/1.png" width=600>
</div>
## 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
| Model | Size | mAP<sup>test</sup> 0.5:0.95 | GTX1650 FP16(ms) | GTX1650 FP32(ms) |
| :---------: | :--: | :-------------------------: | :--------------: | :--------------: |
| YOLOv7-tiny | 640 | 38.7 | 8.7 | 11.6 |
| YOLOv7 | 640 | 51.4 | 27.2 | 47.5 |
| YOLOv7-X | 640 | 53.1 | 44.2 | 82.9 |
说明:此处FP16,fp32预测时间包含**preprocess+inference+nms**,测速方法为warmup10次,预测100次取平均值,并未使用trtexec测速,与官方测速不同;mAP<sup>val</sup>为原始模型精度,转换后精度未测试。
## Quick Start
下载**YOLOv7**仓库。
```
git clone https://github.com/WongKinYiu/yolov7
```
将本仓库的**EfficientNMS.py**和**export_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
```
<div align="center">
<img src="assets/2.png" width="800">
</div>
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
TensorRT_使用TensorRT部署YOLOv7算法_优质算法部署项目实战.zip (8个子文件)
TensorRT_使用TensorRT部署YOLOv7算法_优质算法部署项目实战
export_onnx.py 4KB
pictures
zidane.jpg 165KB
bus.jpg 476KB
assets
1.png 216KB
2.png 1.39MB
infer.py 5KB
EfficientNMS.py 3KB
README.md 2KB
共 8 条
- 1
资源评论
极智视界
- 粉丝: 2w+
- 资源: 1386
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功