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

如何在无GPU的MacBook Pro M2上运行含CUDA设备参数的PyTorch代码?

在MacBook Pro M2上运行指定CUDA的PyTorch代码解决方案

错误原因

MacBook Pro M2采用Apple Silicon芯片,PyTorch针对该平台提供的是**MPS(Metal Performance Shaders)**加速后端,而非NVIDIA的CUDA。原代码中硬指定cuda设备,而Apple Silicon版本的PyTorch未编译CUDA支持,因此抛出AssertionError: Torch not compiled with CUDA enabled错误。

无需修改原代码的解决方法

1. 安装适配MPS的PyTorch版本

先卸载旧版本,重新安装支持Apple Silicon的PyTorch:

pip3 uninstall torch torchvision torchaudio -y
pip3 install torch torchvision torchaudio

2. 创建设备映射补丁脚本

新建一个名为fix_device.py的脚本,内容如下:

import torch
# 保存原始的torch.device方法
original_device = torch.device

def patched_device(device_spec, *args, **kwargs):
    # 自动将cuda设备请求替换为mps
    if isinstance(device_spec, str) and device_spec.startswith("cuda"):
        return original_device("mps")
    return original_device(device_spec, *args, **kwargs)

# 替换torch.device实现
torch.device = patched_device

3. 运行原代码

执行原代码时通过预加载补丁脚本,无需修改原代码内容:

python3 -m fix_device 你的CVPR论文脚本.py

这样原代码中所有torch.device("cuda")的调用都会自动映射到MPS设备,既能保留原代码逻辑,又能在M2芯片上正常运行。


内容的提问来源于stack exchange,提问作者Jason Rich Darmawan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:12:32