模块“torch”没有属性“has_mps”

XUE*_*REN 5 pytorch

我刚刚关注了一个 YouTube 视频,该视频教如何PyTorch为 MacBook 安装 Nightly 以通过 M1 芯片加速。然而,我遇到了一个非常奇怪的问题。我可以在 jupyter 笔记本中看到torch.has_mps = True. 但是在vscode的jupyter笔记本中,它显示 module torchhas no attribute has_mps

谁能好心告诉我为什么吗?真的很混乱。

emi*_*irc 7

只需确保您安装了 PyTorch 的夜间版本即可。PyTorch 中的 Apple Silicon 支持目前仅在夜间构建中可用。

例如,如果您使用 conda,请尝试以下操作:

conda install pytorch torchvision -c pytorch-nightly
Run Code Online (Sandbox Code Playgroud)

或用点

pip3 install --pre torch torchvision --extra-index-url https://download.pytorch.org/whl/nightly/cpu
Run Code Online (Sandbox Code Playgroud)

在这里查看更多内容:

https://pytorch.org/get-started/locally/

验证您使用的版本是否正确的脚本就像您编写的那样,您只需在安装了上述内容的环境中打开 python REPL 即可:

import torch
torch.has_mps
Run Code Online (Sandbox Code Playgroud)

你应该得到

True
Run Code Online (Sandbox Code Playgroud)

要选择设备,请使用“mps”而不是“cuda”(您在教程中看到的):

device = "mps" if torch.has_mps else "cpu"
print(f'Using device: {device}')
Run Code Online (Sandbox Code Playgroud)

PS 虽然指南建议安装torchaudio,但它不起作用,至少在conda环境中是这样。

PPS 另外,请尝试使用此 github 存储库中的环境:

https://github.com/causevic/mlboxm1/blob/main/pytorch_mac_m1.yml