🚀快速看看yolov8n 在移动端RTX2070m(8G)的新能表现:
model | video resolution | model input size | GPU Memory-Usage | GPU-Util |
---|---|---|---|---|
yolov8n | 1920x1080 | 8x3x640x640 | 1093MiB/7982MiB | 14% |
yolov8n一个batch中平均每帧运行耗时(ms)
下面是左边是python框架推理结果,右边是TensorRT-Alpha推理结果。
yolov8n : Offical( left ) vs Ours( right )
yolov7-tiny : Offical( left ) vs Ours( right )
yolov6s : Offical( left ) vs Ours( right )
yolov5s : Offical( left ) vs Ours( right )
YOLOv4 YOLOv3 YOLOR YOLOX略。
「三步解决win环境配置」:
需要Microsoft账号,如果您有别的途径下载安装也可以。
注:Nvidia相关网站需要注册账号。
nvidia-smi
看到如下信息表明驱动正常:
nvcc -V
CMD窗口打印如下信息表示cuda11.2安装正常
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:15:10_Pacific_Standard_Time_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0
note:cuda11.2 不需要手动设置环境变量,如下图,环境变量都是自动设置的。
一般地,Visual Studio 2019,一个库对应两个属性表文件,分别对应:vs2019的debug模式和release模式,例如:本文中OpenCV创建了这两种。而TensorRT和CUDA只需要创建一种属性表(适用以上两种模式)。
创建opencv库debug属性表:
到这里,opencv库debug属性表制作完成,release属性表和上述流程一样,唯一区别在于,如下图,项目切换到Release x64模式,新建OpenCV4.5.5_ReleaseX64属性表,然后在step7中,将文件名修改为:"「opencv_world455.lib」"
请记住,制作属性表就3个步骤:
右击Debug|x64 or 右击Release|x64新建属性表,重命名为:TensorRT8.4.2.4_X64,
# include路径
F:\ThirdParty\TensorRT-8.4.2.4\include
F:\ThirdParty\TensorRT-8.4.2.4\samples\common
F:\ThirdParty\TensorRT-8.4.2.4\samples\common\windows
# lib路径
F:\ThirdParty\TensorRT-8.4.2.4\lib
# lib文件名称(for release& debug)
nvinfer.lib
nvinfer_plugin.lib
nvonnxparser.lib
nvparsers.lib
依照上一节3个步骤:
CUDA属性表直接白嫖官方,在路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\visual_studio_integration\MSBuildExtensions\CUDA 11.2.props
最后,我们应该有了如下属性表文件:
其中,cuda 和tensorrt的属性表同时兼容release x64 和debug x64,你再新建TensorRT-Alpha中yolov8 yolov7 yolov6 等项目后,只需要把上述提前做好的属性表引入到工程就行了,当然项目还需要进行简单设置(设置NVCC,避免tensorrt的坑),在后文提到。属性表做到了一次新建,到处使用。
Windows10环境安装YOLOv8的python环境安装,参考我的另一篇《Win10环境下yolov8快速配置与测试》:https://blog.csdn.net/m0_72734364/article/details/128815530
直接在网盘下载(https://share.weiyun.com/3T3mZKBm),或者 google driver(https://drive.google.com/drive/folders/1-8phZHkx_Z274UVqgw6Ma-6u5AKmqCOv) 或者使用如下命令导出onnx:
# 🔥 yolov8 官方仓库: https://github.com/ultralytics/ultralytics
# 🔥 yolov8 官方教程: https://docs.ultralytics.com/quickstart/
# 🚀TensorRT-Alpha will be updated synchronously as soon as possible!
# 安装 yolov8
conda create -n yolov8 python==3.8 -y
conda activate yolov8
pip install ultralytics==8.0.5
pip install onnx==1.12.0
# 下载官方权重(".pt" file)
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x6.pt
导出 onnx:
# 640
yolo mode=export model=yolov8n.pt format=onnx dynamic=True #simplify=True
yolo mode=export model=yolov8s.pt format=onnx dynamic=True #simplify=True
yolo mode=export model=yolov8m.pt format=onnx dynamic=True #simplify=True
yolo mode=export model=yolov8l.pt format=onnx dynamic=True #simplify=True
yolo mode=export model=yolov8x.pt format=onnx dynamic=True #simplify=True
# 1280
yolo mode=export model=yolov8x6.pt format=onnx dynamic=True #simplify=True
# trtexec.exe在路径:F:\ThirdParty\TensorRT-8.4.2.4\bin
# trtexec.exe, onnx, trt路径改成自己的
# 640
../../../../TensorRT-8.4.2.4/bin/trtexec.exe --onnx=yolov8n.onnx --saveEngine=yolov8n.trt --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
../../../../TensorRT-8.4.2.4/bin/trtexec.exe --onnx=yolov8s.onnx --saveEngine=yolov8s.trt --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
../../../../TensorRT-8.4.2.4/bin/trtexec.exe --onnx=yolov8m.onnx --saveEngine=yolov8m.trt --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
../../../../TensorRT-8.4.2.4/bin/trtexec.exe --onnx=yolov8l.onnx --saveEngine=yolov8l.trt --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
../../../../TensorRT-8.4.2.4/bin/trtexec.exe --onnx=yolov8x.onnx --saveEngine=yolov8x.trt --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
# 1280
../../../../TensorRT-8.4.2.4/bin/trtexec.exe --onnx=yolov8x6.onnx --saveEngine=yolov8x6.trt --buildOnly --minShapes=images:1x3x1280x1280 --optShapes=images:4x3x1280x1280 --maxShapes=images:8x3x1280x1280
你将会的到例如:yolov8n.trt、yolov8s.trt、yolov8m.trt等文件。
下载TensorRT-Alpha仓库:
git clone https://github.com/FeiYull/tensorrt-alpha
上面视频在vs2019中设置命令行参数,您也可以在CMD命令行上运行程序,如下:
# 下面参数解释
# --show 表示可视化结果
# --savePath 表示保存,默认保存在build目录
# --savePath=../ 保存在上一级目录
## 640
# 推理图片
./app_yolov8.exe --model=../../data/yolov8/yolov8n.trt --size=640 --batch_size=1 --img=../../data/6406407.jpg --show --savePath
./app_yolov8.exe --model=../../data/yolov8/yolov8n.trt --size=640 --batch_size=8 --video=../../data/people.mp4 --show --savePath
# 推理视频
./app_yolov8.exe --model=../../data/yolov8/yolov8n.trt --size=640 --batch_size=8 --video=../../data/people.mp4 --show --savePath=../
# 在线推理相机视频
./app_yolov8.exe --model=../../data/yolov8/yolov8n.trt --size=640 --batch_size=2 --cam_id=0 --show
## 1280
# infer camera
./app_yolov8.exe --model=../../data/yolov8/yolov8x6.trt --size=1280 --batch_size=2 --cam_id=0 --show
我的B站所有视频都在WIN10环境运行,https://space.bilibili.com/2028719613
https://github.com/FeiYull/TensorRT-Alpha
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有