此错误是由于在 Windows 系统中使用多进程时,没有正确使用 if __name__ == '__main__': 语句块造成的。在 Windows 里,多进程的启动方式是 spawn,并非 fork,所以必须在主模块中使用 if __name__ == '__main__': 语句块来避免子进程重复执行主模块代码。

 改成这个我的问题就解决了:

from ultralytics import YOLO

if __name__ == '__main__':
    # 加载一个预训练的 YOLO11n 模型
    model = YOLO("yolo11n.pt")

    # 在 COCO8 数据集上训练模型 100 个周期
    train_results = model.train(
        data=r"E:\ultralytics-main\ImageSet\ImageSet\data.yaml",  # 数据集配置文件路径
        epochs=100,  # 训练周期数
        imgsz=640,  # 训练图像尺寸
        device=0,  # 运行设备(例如 'cpu', 0, [0,1,2,3])
    )

    # 评估模型在验证集上的性能
    metrics = model.val()

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐