在M1 Mac上安装Pytorch


概述

  • 这是配备M1的Mac上PyTorch(不兼容GPU)的安装过程的摘要。
  • torchaudio的安装尚未成功。

前言

在具有M1的Mac上,注意力通常集中在与GPU兼容的Tensorflow上,但是我认为很多人都想使用PyTorch。我发现了很多介绍Tensorflow的文章,但是找不到关于PyTorch的文章,所以花了很多时间,所以我简要地总结一下。
从2021-01-27开始,PyTorch不兼容GPU,但是可以安装CPU版本。

保单

  • 假定您使用的是miniforge,它为M1 Mac提供了一个Python环境。

步骤

miniforge

的环境构造

从下面的链接下载安装程序(shell脚本)的arm64(Apple Silicon)版本。
https://github.com/conda-forge/miniforge

下载后,运行安装程序。 (基本上都是)

1
source ~/Downloads/Miniforge3-MacOSX-arm64.sh

构建虚拟环境。您可以为myenv使用任何您喜欢的名称。从2021-01-27开始,有一些著名的软件包不支持python3.9系列(例如,numbalibrosa取决于numba),因此最好使用python=3.8.6

1
2
conda create -n myenv python=3.8.6
conda activate myenv

安装通常使用的软件包。以下软件包是我通常使用的软件包,因此我不需要全部安装它们,但请确保安装numpy,而torch则取决于此软件包。

1
2
3
4
5
6
7
8
9
conda install numpy
conda install numba
conda install pandas
conda install openpyxl
conda install scipy
conda install scikit-learn
conda install matplotlib
conda install seaborn
conda install jupyterlab

安装PyTorch

torch

的安装

2021-01-27开始,torch无法安装在conda install torchpip install torch上。
但是,由于我们的前辈创建了轮子,因此使用它很容易安装。
首先,下载轮文件。

  • 如果在创建虚拟环境时指定了python=3.8.x(3.8系列),请从以下链接跳至Google云端硬盘链接,按屏幕右上方的下载按钮,忽略警告并下载。
    https://drive.google.com/file/d/1e-7R3tfyJqv0P4ijZOLDYOleAJ0JrGyJ/view

  • 如果在创建虚拟环境时指定了python=3.9.x(3.9系列),请从以下链接跳转到Github页面,然后单击"下载"按钮。
    https://github.com/wizyoung/AppleSiliconSelfBuilds/blob/main/builds/torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl

下载后,可以使用以下命令安装torch(文件名因python 3.8系列或3.9系列而异,因此该命令会略有变化)

下载python3.8系列时

1
pip install ~/Downloads/torch-1.8.0a0-cp38-cp38-macosx_11_0_arm64.whl

下载python3.9系列时

1
pip install ~/Downloads/torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl

使用

及更高版本,可以安装torch

torchvision

的安装

如果按照先前的步骤安装了torch,则可以使用以下命令进行安装。

1
pip install torchvision

torchaudio

的安装

目前不工作...

pytorch-lightning

的安装

PyTorch Lightning是用于高效编写PyTorch的包装程序包。
我推荐它,因为它很方便。

首先,使用conda install命令安装从属软件包。

1
conda install future pyyaml tqdm fsspec tensorboard

之后,使用pip install命令安装pytorch-lightning,您已完成。

1
pip install pytorch-lightning

附言

谢谢我们的前任。 torchaudio的安装仍然是一个问题(顺便说一句,torchaudio所依赖的librosa可以与pip install librosa一起安装)。

参考文章

  • 使用miniforge构建Python环境

    • https://qiita.com/damyarou/items/f0e0b4026bdda94df46f
    • https://qiita.com/syoyo/items/6ad890c8a902d02d8c5a
  • 有关PyTorch对M1 Mac的支持的问题

    • https://github.com/pytorch/pytorch/issues/48145
  • 火炬闪电侠

    • https://github.com/PyTorchLightning/pytorch-lightning