You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

YOLOv8训练触发Multiprocessing RuntimeError,请求技术协助

问题解决:YOLOv8训练触发Multiprocessing RuntimeError

错误原因

你遇到的RuntimeError是Python多进程机制导致的:当使用CPU训练并启用mixup、copy_paste这类数据增强时,YOLOv8会启动多进程加速数据处理。在Python的spawn启动模式下(Windows默认,部分Linux/macOS环境也会使用),每个子进程会重新导入主脚本并执行顶层代码,这会导致子进程在初始化阶段就尝试启动新进程,触发错误提示里要求的if __name__ == '__main__':规范。

修改后的代码

将训练相关的核心代码包裹进if __name__ == '__main__':代码块中,确保只有主进程执行这部分逻辑:

import ultralytics 
import torch 
from ultralytics import YOLO 

if __name__ == '__main__':
    print(torch.cuda.is_available()) 
    # Load a model 
    model = YOLO("best.pt") 
    # Use the model 
    model.train(data="config.yaml", epochs=10, device="cpu", mixup=0.5, copy_paste=0.5, translate=0.2, scale=0.2) # train the model

原理说明

if __name__ == '__main__':是Python的标准写法,用于区分脚本作为主程序运行和作为模块被导入的情况。当子进程导入主脚本时,__name__的值会变成子进程的进程名而非__main__,因此不会执行块内的训练代码,避免了重复启动进程的问题。

内容的提问来源于stack exchange,提问作者Tigarist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 01:20:08