将YOLOv8 模型导出到ONNX

前言

您可以通过将YOLOv8 模型转换为ONNX 格式,扩大模型兼容性和部署灵活性。

安装ultralytics

要安装所需的软件包,请运行

# Install the required package for YOLOv8
pip install ultralytics

使用方法

  1. Python
from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to ONNX format
model.export(format="onnx")  # creates 'yolov8n.onnx'

# Load the exported ONNX model
onnx_model = YOLO("yolov8n.onnx")

# Run inference
result = onnx_model.predict(source='<your img path>', save=True, imgsz=480)
print(result)
# 其中imgsz表示图片尺寸
  1. CLI
# Export a YOLOv8n PyTorch model to ONNX format
yolo export model=yolov8n.pt format=onnx  # creates 'yolov8n.onnx'

# Run inference with the exported model
yolo predict model=yolov8n.onnx source='https://ultralytics.com/images/bus.jpg'

点击了解更多 👈🏻

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要确保已经安装了PyTorch和YOLOv7模型。接下来,你可以按照以下步骤来导出ONNX模型: 1. 下载YOLOv7模型的代码和权重文件。 2. 安装ONNX运行时和onnx-simplifier库: ``` pip install onnxruntime onnx-simplifier ``` 3. 加载模型并将其转换为ONNX格式: ```python import torch from models.experimental import attempt_load from utils.general import set_logging # 加载模型 weights = 'yolov7.pt' device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model = attempt_load(weights, map_location=device) # 将模型转换为ONNX格式 model.fuse() model.to(torch.device('cpu')) model.eval() # 定义输入和输出节点名称和形状 input_names = ['input0'] output_names = ['output0', 'output1', 'output2'] input_shapes = [(1, 3, 640, 640)] # 创建示例输入张量 inputs = torch.randn(input_shapes[0]).to(torch.device('cpu')) # 导出模型 torch.onnx.export(model, inputs, 'yolov7.onnx', input_names=input_names, output_names=output_names, opset_version=11) ``` 4. 对导出ONNX模型进行简化: ```python import onnx from onnxsim import simplify # 加载ONNX模型 onnx_model = onnx.load('yolov7.onnx') # 简化模型 simplified_model, check = simplify(onnx_model) assert check, 'Simplified ONNX model could not be validated' # 保存简化后的模型 onnx.save(simplified_model, 'yolov7-simplified.onnx') ``` 现在你已经成功地导出YOLOv7模型ONNX版本并进行了简化,可以在ONNX运行时中使用它来进行推理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值