Mac(M1)上VS Code中使用GPU的入门方法咨询
M1芯片MacBook Pro在VS Code中启用PyTorch GPU加速的完整指南
关键前提:M1不支持CUDA
你的M1 MacBook Pro没有NVIDIA GPU,所以torch.cuda.is_available()返回False是完全正常的。PyTorch对苹果自研芯片的GPU加速是通过Metal Performance Shaders (MPS) 实现的,要改用torch.backends.mps.is_available()来检测加速是否可用。
步骤1:确认PyTorch版本支持MPS
MPS支持从PyTorch 1.12版本开始提供,先检查你的版本:
在VS Code的Jupyter单元格中运行:
import torch print(torch.__version__) print(torch.backends.mps.is_available())
如果版本低于1.12或is_available()返回False,需要重新安装PyTorch。
步骤2:重新安装支持MPS的PyTorch
打开终端,根据你的包管理器选择命令:
- Conda(推荐,环境隔离更稳定):
conda install pytorch torchvision torchaudio -c pytorch-nightly - Pip:
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
注意:M1的PyTorch包标注为cpu后缀,但实际包含MPS加速支持,这是苹果芯片的特殊处理方式。
步骤3:在VS Code Jupyter中配置MPS加速
- 设置默认设备:
在Notebook开头添加代码,自动优先使用MPS设备:
import torch device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")
- 迁移模型和数据到MPS设备:
训练或推理时,必须把模型和张量都转到MPS上才能利用GPU加速,示例代码:
# 加载模型并移到MPS model = YourCustomModel().to(device) # 输入数据移到MPS inputs = torch.randn(32, 3, 224, 224).to(device) # 执行前向传播 outputs = model(inputs)
步骤4:验证加速是否生效
- 运行性能测试:
执行以下矩阵乘法代码,对比CPU运行速度,MPS版本会明显更快:
import torch device = torch.device("mps") # 创建大张量 a = torch.randn(10000, 10000, device=device) b = torch.randn(10000, 10000, device=device) # 执行运算 c = torch.matmul(a, b) print(f"运算完成,结果形状:{c.shape}")
- 查看GPU利用率:
打开Mac的「活动监视器」,切换到「GPU」标签,运行上述代码时可以看到GPU占用率上升,证明加速正在工作。
步骤5:VS Code环境优化
- 确保Jupyter使用正确的Python环境:点击VS Code左下角的Python环境选择器,选中你安装了MPS版PyTorch的环境(conda或venv)。
- 关闭冗余扩展:暂时禁用不需要的VS Code扩展,减少系统资源占用,提升加速效率。
内容的提问来源于stack exchange,提问作者Semayuki
相关产品推荐
相关产品推荐

