返回模型
说明文档
基于COCO训练的YOLOv8m模型
YOLOv8m是YOLOv8模型的中等版本,在COCO目标检测数据集(118k张标注图像)上以640x640分辨率训练而成。该模型发布于https://github.com/ultralytics/ultralytics。
我们开发了一个修改版本,可由AMD Ryzen AI支持。
模型描述
Ultralytics YOLOv8是一款前沿的最先进(SOTA)模型,它建立在先前YOLO版本成功的基础上,并引入了新功能和改进以进一步提升性能和灵活性。YOLOv8设计快速、准确且易于使用,是广泛的目标检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
预期用途与限制
您可以使用原始模型进行目标检测。请查看模型中心以寻找所有可用的YOLOv8模型。
如何使用
安装
按照Ryzen AI安装指南准备Ryzen AI环境。 运行以下脚本安装此模型的依赖项。
pip install -r requirements.txt
数据准备(可选:用于精度评估)
MSCOCO2017数据集包含118287张训练图像和5000张验证图像。
下载COCO数据集并在代码中创建/挂载目录,如下所示:
└── yolov8m
└── datasets
└── coco
├── annotations
| ├── instances_val2017.json
| └── ...
├── labels
| ├── val2017
| | ├── 000000000139.txt
| ├── 000000000285.txt
| └── ...
├── images
| ├── val2017
| | ├── 000000000139.jpg
| ├── 000000000285.jpg
└── val2017.txt
- 将val2017图像文件夹放置在images目录下,或使用软链接
- 上方的labels文件夹和val2017.txt由general_json2yolo.py生成
- 按如下方式修改coco.yaml:
path: /path/to/your/datasets/coco # 数据集根目录
train: train2017.txt # 训练图像(相对于'path')118287张图像
val: val2017.txt # 验证图像(相对于'path')5000张图像
测试与评估
- 来自
infer_onnx.py的使用代码片段
args = make_parser().parse_args()
source = args.image_path
dataset = LoadImages(
source, imgsz=imgsz, stride=32, auto=False, transforms=None, vid_stride=1
)
onnx_weight = args.model
onnx_model = onnxruntime.InferenceSession(onnx_weight)
for batch in dataset:
path, im, im0s, vid_cap, s = batch
im = preprocess(im)
if len(im.shape) == 3:
im = im[None]
outputs = onnx_model.run(None, {onnx_model.get_inputs()[0].name: im.permute(0, 2, 3, 1).cpu().numpy()})
outputs = [torch.tensor(item).permute(0, 3, 1, 2) for item in outputs]
preds = post_process(outputs)
preds = non_max_suppression(
preds, 0.25, 0.7, agnostic=False, max_det=300, classes=None
)
plot_images(
im,
*output_to_target(preds, max_det=15),
source,
fname=args.output_path,
names=names,
)
- 对单张图像运行推理
python infer_onnx.py --onnx_model ./yolov8m.onnx -i /Path/To/Your/Image --ipu --provider_config /Path/To/Your/Provider_config
注意:__vaip_config.json__位于Ryzen AI的安装包中(请参阅安装)
- 测试量化模型的精度
python eval_onnx.py --onnx_model ./yolov8m.onnx --ipu --provider_config /Path/To/Your/Provider_config
性能
| 指标 | IPU上的精度 |
|---|---|
| AP@0.50:0.95 | 0.486 |
@software{yolov8_ultralytics,
author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
title = {Ultralytics YOLOv8},
version = {8.0.0},
year = {2023},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
license = {AGPL-3.0}
}
amd/yolov8m
作者 amd
object-detection
↓ 0
♥ 5
创建时间: 2023-12-04 07:38:27+00:00
更新时间: 2024-01-30 08:47:14+00:00
在 Hugging Face 上查看文件 (14)
.gitattributes
README.md
anchors.npy
coco.yaml
default.yaml
demo.jpg
eval_onnx.py
general_json2yolo.py
infer_onnx.py
requirements.txt
strides.npy
test_infer_onnx.py
utils.py
yolov8m.onnx
ONNX