我希望在我拥有的数据集上使用 YoloV10n 进行自定义训练(到目前为止我一直在使用 YoloV8),但我不确定是使用/导入 YOLO 还是 YOLOv10。
我最初尝试使用YOLOv10,并能够成功完成自定义训练和推理。但是,由于断言不一致,我无法将模型导出到 tflite。然后我切换回 YOLO(从预先训练的 yolov10.pt 模型开始)并能够将其导出到 tflite。此外,Ultralytics 的官方文档确实指导使用 YOLO(而不是 YOLOv10)进行 YoloV10 训练。另一方面,RoboFlow 教程确实指导使用 YOLOv10...🤔
我应该使用
from ultralytics import YOLOv10
还是from ultralytics import YOLO
?有关系吗?相同的答案是否适用于训练、推理和导出(tflite 等)?
如最新的 Ultralytics 文档中所述,使用
from ultralytics import YOLO
是正确的:
from ultralytics import YOLO
# Load YOLOv10n model from scratch
model = YOLO("yolov10n.yaml")
# Train the model
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolov10n_ncnn_model'
至于使用 YOLOv10 模块的建议,来自于该模型尚未完全集成到 Ultralytics 的早期(大约 2024 年 5 月)。例如,在 5 月 24 日的这篇 Roboflow 文章中,建议手动克隆 YOLOv10 的官方 PyTorch 实现,然后将其与 Ultralytics 一起使用,目前这太过分了,可能会导致导出问题等不良行为。如果您使用 Ultralytics,请按照官方教程操作 v10,就像使用 v8 模型一样。