はじめに
M1 macbookProを会社から貸与いただいたので、pythonの仮想環境を作ってみました。
ところがtensorflowモジュールがpipで入らなくて、それを解決できたので記事にします。
pythonの仮想環境を作る
今回仮想環境は、machineLearningという名前で作ってます。まずpythonの仮想環境を作ります。
${your_name}@MacBook-Pro> python3 -m venv machineLearning
仮想環境にモジュールをインストール
sourceコマンドで仮想環境を起動すれば、その環境に入れる。
${your_name}@MacBook-Pro> source ./machineLeaning/bin/activate
(machineLearning)${your_name}@MacBook-Pro>
その仮想環境にnumpyモジュールをインストールする
(machineLearning) ${your_name}@MacBook-Pro ~ % pip install numpy
Collecting numpy
Downloading numpy-1.20.3-cp38-cp38-macosx_10_9_x86_64.whl (16.0 MB)
|████████████████████████████████| 16.0 MB 5.9 MB/s
Installing collected packages: numpy
Successfully installed numpy-1.20.3
TensorFlowが入らない
次にtensorflowをインストール。次のように公式サイトどおりにpipするも、失敗してしまう。適当なバージョン指定しても同じ。M1(ARM版)用のtensorflow見つからないと言っている。仮想環境に見合ったモジュールのバージョンが見つからない、ということのようだ。
${your_name}@MacBook-Pro> pip install --upgrade tensorflow
Could not find a version that satisfies the requirement tensorflow (from versions: ) No matching distribution found for tensorflow
M1用のTensorFlowモジュールを発見
そこで、
Mac-optimized version of TensorFlow 2.4
を拝見すると、M1 MAC用のパッケージがあるようである。しかもこっちの方が、実行スピードが格段に速い。実測だと4倍以上のようだ。
tensorflowのブログ から引用
将来的にはマスターブランチにマージされるようである。
TensorFlowモジュールのインストール
これをインストールするため、 github 公式apple のINSTALLATION にあるように、次のscriptを実行。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/apple/tensorflow_macos/master/scripts/download_and_install.sh)"
無事インストールできました。M1 MAC用に作られたモジュールはまだまだ少ないようです。M1MACに対応して性能を生かせるようになるまで、しばらくかかるのではないかと思います。