使用 Apple 的 Metal Performance Shaders (MPS) 作为 PyTorch 的后端来启用加速 GPU 训练。 MPS 后端扩展了 PyTorch 框架,提供了在 Mac 上设置和运行操作的脚本和功能。 MPS 使用针对每个 Metal GPU 系列的独特特性进行微调的内核来优化计算性能。 新设备将机器学习计算图和基元映射到 MPS 提供的 MPS Graph 框架和优化内核上。
随着PyTorch v1.12版本的发布,开发人员和研究人员可以利用 Apple 的GPU进行明显更快的模型训练,在部分模型的训练上往往比Mac 的 CPU有着数倍的提升。
直接在 shell 窗口执行代码,输出为 True 则说明 可以正常运行
python -c "import torch;print(torch.backends.mps.is_built())"
或者写在一个代码中执行:
import torch
import math
print(torch.backends.mps.is_available())
# True
print(torch.backends.mps.is_built())
# True
在Mac M1下的GPU称作mps,它类似于Nvidia的cuda。如果你想在Mac M1下使用GPU进行深度学习的训练,只需要将运算指定到mps上运行即可。
import torch
model = torch.nn.Linear(5,1).to('mps')
x = torch.randn(5).to('mps')
y = model(x)
print(y.shape)
Apple M1 Ultra, 20-core CPU, 64-core GPU 128GB of RAM, and 2TB SSD. Tested with macOS Monterey 12.3, prerelease PyTorch 1.12, ResNet50 (batch size=128), HuggingFace BERT (batch size=64), and VGG16 (batch size=64).
- 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
- ❤️ 过去的每一天、想必你也都有努力、祝你披荆斩棘、未来可期