如何通过Miniforge在苹果M1芯片设备上原生安装PyTorch?
解决M1芯片Mac运行原生arm64版PyTorch的步骤
- 第一步:清理shell配置中的Anaconda初始化项
问题根源是x86架构的Anaconda3优先级高于arm64版Miniforge,首先编辑当前shell的配置文件:
如果你用Mac默认的zsh,执行nano ~/.zshrc;如果用bash,执行nano ~/.bash_profile
找到所有Anaconda3相关的初始化代码(一般以# >>> conda initialize >>>开头,# <<< conda initialize <<<结尾的整段内容),直接删除或者注释掉每一行,保存退出后执行source ~/.zshrc(对应bash就替换为对应配置文件名)刷新配置。 - 第二步:验证Miniforge的优先级与架构配置
执行which conda,输出路径应该包含miniforge而非anaconda3,brew安装的Miniforge默认路径为/opt/homebrew/Caskroom/miniforge/base/bin/conda。
执行conda config --show subdir确认输出为osx-arm64,如果输出是osx-64,执行conda config --set subdir osx-arm64手动指定拉取包的架构。 - 第三步:重建arm64架构的PyTorch虚拟环境
删除之前创建的x86架构旧环境:conda remove -n pytorch_env --all
重新创建虚拟环境,创建时指定架构更稳妥:conda create -n pytorch_env python=3.10 subdir=osx-arm64
激活环境后验证Python架构:
输出为conda activate pytorch_env python -c "import platform; print(platform.machine())"arm64即表示环境架构正确。 - 第四步:安装原生arm64版PyTorch
直接执行官方安装命令即可拉取对应架构的包:conda install pytorch torchvision torchaudio -c pytorch
安装完成后执行验证命令:python -c "import torch; print(torch.backends.mps.is_available())"
输出为True即为安装成功,可正常使用M系列芯片的GPU加速能力。
补充说明:如果执行上述步骤后仍有异常,可以临时将Anaconda3的根目录(默认是
~/anaconda3)重命名为~/anaconda3_backup排除残留干扰,确认Miniforge正常运行后再按需处理Anaconda3。你之前安装的通用版Python不会影响conda虚拟环境的运行,无需额外处理。
内容的提问来源于stack exchange,提问作者Dirk
相关产品推荐
相关产品推荐

