【DL】YOLOv8模型推理

code源码

相关知识

pytorch模型转换(.pt)的tensorrt模型(.engine)在不同环境下需要重新转换

  • tensorrt转换出来的模型实际上是和硬件绑定的
  • 与显卡和显卡相关驱动软件(cuda、cudnn)有关

一、环境配置:

python >= 3.8
pytorch_cuda = 11.8
pytorch = 2.2.2
onnxruntime-gpu
onnx
tensorrt = 8.6.1

多个版本的cuda安装
安装cuda11.8
pytorch

 anaconda:python
 print(torch.cuda.is_available())

二、TensorRt 加速推理

方法一:使用C++生成.engine推理:.pt -> .wts -> .engine

# 直接在Pycharm下运行yolov8_tensorrt-main的gen_wts
python gen_wts	# 将.pt模型生成.wts模型

方法二:使用Python生成.enging推理:.pt->.onnx->.engine

配置TensorRt环境

anaconda:python
import tensorrt as trt
print(trt.__version__)

TensorRT - 自带工具trtexec的参数使用说明

  • trtexec是在tensorrt包中自带的转换程序,该程序位于bin目录下
  • 需要系统安装好cuda和cudnn
cmd:	trtexec.exe

# 参数
–fp16 : 除 fp32 外,启用 fp16 精度(默认 = 禁用)
–int8 : 除 fp32 外,启用 int8 精度(默认 = 禁用)
–best : 启用所有精度以达到最佳性能(默认 = 禁用

ONNX转TensorRT加速模型推理:包含pytorch自带的转onnx

trtexec --onnx=model.onnx --tacticSources=-cublasLt,+cublas --workspace=2048 --fp16 --saveEngine=model.engine  --verbose

注意

配置环境换源:加速下载拓展库
Raspberry Pi 与Ultralytics YOLOv8

部署到Jetson Nano上进行不同模型的推理

Jetson Nano主板资料: https://www.yahboom.com/study/jetson-nano 密码: 72q3
外壳安装:https://www.yahboom.com/study_module/jn-shell
接上电源没有启动,无指示灯灯亮解决方案:需要拔掉J48的跳线帽重新查一下(出厂时是错位插着的,所以需要重插),可以访问以下链接查看跳线帽图示https://www.yahboom.com/build.html?id=2495&cid=301

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
yolov8是一种目标检测算法,predict是yolov8中的一个方法,用于对yolov8是一种目标检测算法,predict是yolov8中的一个方法,用于对yolov8是一种目标检测算法,predict是yolov8中的一个方法,用于对输入的图像进行目标检测并返回检测结果。下面是yolov8运行predict的示例代码: from ultralytics import YOLO import cv2 # 加载模型 model = YOLO("yolov8-seg.yaml").load('yolov8n-seg.pt') # 进行预测 results = model.predict(r'E:\CS\DL\yolo\yolov8study\bus.jpg') # 获取检测结果 boxes = results.boxes masks = results.masks probs = results.probs # 打印结果 print(f"boxes:{boxes}") print(f"masks:{masks.xy }") print(f"probs:{probs}") 在这个示例中,我们首先加载了yolov8模型yolov8是一种目标检测算法,predict是yolov8中的一个方法,用于对输入的图像进行目标检测并返回检测结果。下面是yolov8运行predict的示例代码: from ultralytics import YOLO import cv2 # 加载模型 model = YOLO("yolov8-seg.yaml").load('yolov8n-seg.pt') # 进行预测 results = model.predict(r'E:\CS\DL\yolo\yolov8study\bus.jpg') # 获取检测结果 boxes = results.boxes masks = results.masks probs = results.probs # 打印结果 print(f"boxes:{boxes}") print(f"masks:{masks.xy }") print(f"probs:{probs}") 在这个示例中,我们首先加载了yolov8模型,然后使用predict方法对一张图片进行目标检测,最后获取检测结果并打印输出。需要注意的是,predict方法的输入可以是一个文件路径,也可以是一个numpy数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值