重要!(2021-06-19現在)
継続的に更新されている,M1 Macの環境構築に関する次のとてもためになる記事でも言及されていますが,現在,簡単にpip installでインストール可能になりました。
pip install torch
pip install torchvision
pip install torchaudio
以下の記事の内容は,ほぼすべて古い内容です。完全にレガシーです。ご注意ください。
ただ,pytorch-lightningのインストールが上手くいかないという人に関しては,pytorch-lightningのインストールは有用かもしれません。
概要
- M1搭載MacでのPyTorch(GPU非対応)のインストール手順をまとめています。
- torchaudioのインストールはまだうまくいっていません。
前置き
M1搭載Macでは,GPU対応のTensorflowに注目が集まりがちですが,PyTorchを使用したい方も多いかと思います。Tensorflowの導入記事は数多く見つかったのですが,PyTorchの導入記事が見つからず手間取ったので,簡単にまとめました。
2021-01-27時点で,PyTorchはGPU対応ではありませんが,CPU版の導入は可能です。
方針
- M1搭載Mac対応のPython環境を提供する
miniforgeの使用を前提とします。
手順
miniforgeの環境構築
以下のリンク先から, arm64 (Apple Silicon) 版のインストーラ(シェルスクリプト)をダウンロードします。
https://github.com/conda-forge/miniforge
ダウンロードしたら,インストーラを実行します。(基本的にすべてyes)
source ~/Downloads/Miniforge3-MacOSX-arm64.sh
仮想環境を構築します。myenvの箇所は好きな名前で良いです。2021-01-27時点で,python3.9系に対応していない有名パッケージ(例えばnumbaや,numbaに依存したlibrosaなど)があるので,python=3.8.6とするのが良いと思います。
conda create -n myenv python=3.8.6
conda activate myenv
普段使用するパッケージをインストールします。次のパッケージ群は私が普段使っているものなので,すべてインストールする必要はありませんが,torchが依存しているnumpyは必ずインストールしてください。
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 torchやpip install torchではインストールできません。
しかし,先人の方々がwheelを作成してくださっているので,それを使用すると簡単にインストールできます。
まず,wheelファイルをダウンロードします。
- 仮想環境作成時に
python=3.8.x(3.8系)を指定した方は,次のリンクからGoogle Driveのリンクに飛び,画面右上にあるダウンロードのボタンを押し,警告を無視してダウンロードしてください。
https://drive.google.com/file/d/1e-7R3tfyJqv0P4ijZOLDYOleAJ0JrGyJ/view - 仮想環境作成時に
python=3.9.x(3.9系)を指定した方は,次のリンクからGithubのページに飛び,「Download」ボタンを押してください。
https://github.com/wizyoung/AppleSiliconSelfBuilds/blob/main/builds/torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl
ダウンロードしたら,以下のコマンドでtorchをインストールできます(python3.8系か3.9系かでファイル名が異なるので,微妙にコマンドは変わります)
pip install ~/Downloads/torch-1.8.0a0-cp38-cp38-macosx_11_0_arm64.whl
pip install ~/Downloads/torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl
以上で,torchのインストール可能です。
torchvisionのインストール
これまでの手順でtorchがインストールできていれば,次のコマンドでインストールできます。
pip install torchvision
torchaudioのインストール
現時点で,うまくいっていません...
pytorch-lightningのインストール
PyTorchLightningは,PyTorchを効率的に書くためのラッパーパッケージです。
かなり便利なのでおすすめです。
まず,依存パッケージをconda installコマンドでインストールします。
conda install future pyyaml tqdm fsspec tensorboard
あとは,pip installコマンドでpytorch-lightningをインストールしたら終了です。
pip install pytorch-lightning
後書き
先人の方々に感謝です。torchaudioのインストールが残る課題になります。
因みに,torchaudioが依存しているlibrosaは,pip install librosaでインストール可能です。但し,librosaが依存しているパッケージsoundfileはうまくインストールされず,インストールした直後にimport soundfileを実行するとOSErrorが送出され,libsndfile.dylibが見つからないと言われます。その場合は,見つからないと言われたパスに,libsndfile.dylibの実体をコピーしておくとうまくいきます(libsndfile自体はHomebrewを使ってbrew install libsndfileでインストールでき,インストールした後の実体を見つからないと言われたパスにコピーします)。
参考記事
- miniforgeによるPythonの環境構築
- PyTorchのM1搭載Mac対応についてのIssue
- Pytorch-lightningの公式