【报错】解决pytorch出现RuntimeError: An attempt has been made to start a new process...
此错误是由于在 Windows 系统中使用多进程时,没有正确使用
if __name__ == '__main__':
语句块造成的。在 Windows 里,多进程的启动方式是spawn
,并非fork
,所以必须在主模块中使用if __name__ == '__main__':
语句块来避免子进程重复执行主模块代码。
改成这个我的问题就解决了:
from ultralytics import YOLOif __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()