yolov8n.onnx下载
时间: 2025-06-11 14:32:51 浏览: 12
要获取 YOLOv8n 的 ONNX 模型文件,可以通过以下方法实现。YOLOv8 提供了直接从官方预训练模型导出为 ONNX 格式的功能。以下是详细的操作步骤和代码示例:
### 导出 YOLOv8n 为 ONNX 格式
YOLOv8 的官方库 `ultralytics` 提供了简单的方法将 PyTorch 模型导出为 ONNX 格式。以下是代码示例:
```python
from ultralytics import YOLO
# 加载官方提供的 YOLOv8n 模型
model = YOLO("yolov8n.pt") # 加载预训练模型[^1]
# 导出模型为 ONNX 格式
model.export(format="onnx") # 导出模型[^2]
```
运行上述代码后,模型会被导出为 `yolov8n.onnx` 文件,并保存在当前工作目录下。
---
### 手动下载 ONNX 模型文件
如果不想手动导出,可以直接从 Ultralytics 的官方资源中获取预训练的 ONNX 模型文件。以下是具体步骤:
1. **访问 Ultralytics 官方 GitHub 仓库**:进入 [Ultralytics GitHub](https://github.com/ultralytics/ultralytics) 页面。
2. **查找预训练模型**:在仓库中搜索 `yolov8n.onnx` 文件,通常位于 `releases` 或 `assets` 部分。
3. **下载模型文件**:点击下载链接,保存 `yolov8n.onnx` 文件到本地。
---
### 使用 ONNX 模型进行推理
一旦获取了 `yolov8n.onnx` 文件,可以使用 ONNX Runtime 进行推理。以下是代码示例:
```python
import cv2
import numpy as np
import onnxruntime as ort
def init_detect_model(model_path):
# 创建 ONNX 推理会话
session = ort.InferenceSession(model_path, providers=ort.get_available_providers()) # 初始化会话[^4]
model_inputs = session.get_inputs() # 获取输入信息
input_shape = model_inputs[0].shape # 输入形状
input_width = input_shape[2] # 输入宽度
input_height = input_shape[3] # 输入高度
return session, input_width, input_height
def preprocess_image(image_path, width, height):
# 加载图像并调整大小
image = cv2.imread(image_path)
image = cv2.resize(image, (width, height))
image = image.astype(np.float32) / 255.0 # 归一化
image = np.transpose(image, (2, 0, 1)) # 调整维度顺序
image = np.expand_dims(image, axis=0) # 增加批次维度
return image
# 初始化模型
session, input_width, input_height = init_detect_model("yolov8n.onnx")
# 预处理图像
image_data = preprocess_image("example.jpg", input_width, input_height)
# 运行推理
outputs = session.run(None, {session.get_inputs()[0].name: image_data})
print("推理结果:", outputs)
```
---
### 注意事项
- 确保安装了必要的依赖库,例如 `ultralytics` 和 `onnxruntime`。可以通过以下命令安装:
```bash
pip install ultralytics onnxruntime
```
- 如果需要支持 GPU 推理,请确保系统配置了 CUDA 和 cuDNN,并安装对应的 GPU 版本的 `onnxruntime-gpu`。
---
阅读全文
相关推荐





