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

如何为YOLOv8激活MPS?Mac Sonoma训练缓慢问题求助

YOLOv8训练极慢(仅3个epochs耗时数小时),MPS加速无效(Mac Sonoma)

问题详情

在Mac Sonoma系统上使用YOLOv8训练模型,即便仅训练3个epochs,耗时仍长达数小时。已尝试安装PyTorch正式版与Nightly版本,问题未解决。

使用的训练代码:

from ultralytics import YOLO
model = YOLO("yolov8n.yaml")  # 从零构建模型(后续被预训练模型覆盖)
model = YOLO("yolov8n.pt")
model.to("mps")
results = model.train(data='data/datas.yaml',
conf=0.3,
epochs=3,
device=‘mps’)  # 注意此处使用了中文全角单引号

已验证MPS可用性:

torch.backends.mps.is_available()  # 返回True

解决方案排查步骤

1. 修复代码语法错误

训练代码中device=‘mps’使用了中文全角单引号,会导致Python解析异常,实际训练可能默认跑在CPU上。先替换为英文半角单引号:

results = model.train(data='data/datas.yaml',
conf=0.3,
epochs=3,
device='mps')  # 修改为英文单引号

2. 确认MPS是否真正生效

启动训练后查看终端日志,寻找类似以下的MPS相关输出:

AMP: running Automatic Mixed Precision (AMP) with MPS half precision
Model summary: 225 layers, 3157200 parameters, 0 gradients, 8.9 GFLOPs

如果日志中没有MPS标识,或显示device='cpu',说明模型未正确加载到MPS。可在训练前添加验证代码:

print(f"Model device: {model.device}")  # 正常应输出 mps:0

3. 优化数据加载速度

Mac上CPU数据加载是常见性能瓶颈,可调整以下参数:

  • 开启persistent_workers=True,保持数据加载进程不销毁:
    results = model.train(data='data/datas.yaml',
    conf=0.3,
    epochs=3,
    device='mps',
    persistent_workers=True,
    workers=4)  # 根据CPU核心数调整workers数量,比如4或8
    
  • 调小batch_size(默认值可能过大,导致MPS显存不足频繁换页):
    results = model.train(..., batch=8)  # 从8开始尝试,根据显存情况调整
    
  • 提前将图片预处理为Tensor格式保存,减少训练时的CPU预处理开销。

4. 检查算子兼容性

部分YOLOv8算子可能未完全适配MPS,导致自动回退到CPU运行。训练时若日志出现UserWarning: MPS: operator xxx not implemented, falling back to CPU这类警告,可尝试:

  • 升级至最新版Ultralytics库:pip install --upgrade ultralytics
  • 调整MPS显存占比,避免显存溢出:
    import torch
    torch.backends.mps.set_per_process_memory_fraction(0.9)
    

5. 适配硬件性能限制

如果是旧款Mac(Intel芯片或M1之前的Apple Silicon),MPS计算能力有限,可进一步压缩训练负载:

  • 使用更小的输入图片尺寸:
    results = model.train(..., imgsz=320)
    
  • 确认已使用最小规格的YOLOv8n模型,若仍慢可尝试更轻量化的模型分支。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 11:35:57