Apple Siliconプロセッサによって、マシン性能が劇的にアップしました。このマシン性能をPythonによる深層学習に活かしたい、ということで環境を構築したので、その備忘として残しておきたいと思います。
まず、Pythonの導入として真っ先に候補に上がるのが、Anacondaディストリビューションですが、これにはいろいろと問題があり、今回は候補から外しました。
- 無償での商用利用はいろいろと制約が課され、面倒。
- ファイルサイズが無駄に大きく、ストレージ容量を圧迫する
Anacondaは、condaコマンドで簡単にパッケージの管理ができるので楽なのですが、Homebrewとの相性が良くないとか、システムに深く食い込むので、システムをクリーンにできない、といった厄介さがあります。
Anacondaを使わなくとも、MinicondaやMiniforgeでパッケージ管理を行うことができます。今回はMiniforgeを使うことにしました。Miniforgeの場合、機械学習では必須のScikit-learnが問題なくインストールができるというのがわかったからというのも、Miniforgeを選択した理由です。
なお、pyenvを使ってpythonのバージョン管理をする、という記事を多く見かけますが、おすすめしません。Miniforgeで仮想環境を構築すれば済む話なので、わざわざpyenvを入れる必要がありません。むしろ、pyenvを入れることによってシステムがおかしくなってしまい、泥沼にハマってしまいますので、やめた方が良いです。私もハマってしまい、OSの再インストールする羽目になりました。
システム環境は、
- MacBook Pro M1 Pro 2021 14 inch
- メモリ16GB
- ストレージ512GB
- Ventura 13.1
Homebrewのインストール
Miniforgeをインストールするために、Homebrewが必要になりますので、まずはHomebrewのインストール。
Miniforgeのインストールと仮想環境の作成
Miniforgeをインストールすることで、仮想環境の構築、condaコマンドによるパッケージ管理ができるようになりますので、Miniforgeを導入します。
各種ライブラリのインストール
機械学習を行うために必要なライブラリをインストールしていきます。
とりあえず、以下のライブラリを入れておけばよいと思います。
- pandas(データ処理・分析)
- Numpy(数値計算)
- Scipy(複雑な数値計算)
- matplotlib(データの可視化)
- Seaborn(データの可視化)
- Jupyter notebook(統合開発環境)
- Scikit-learn(機械学習ライブラリ)
- TensorFlow(深層学習フレームワーク/Google)
- Keras(深層学習フレームワーク/Google)
- PyTorch(深層学習フレームワーク/Facebook)
%conda install pandas
仮想環境内でこのようにコマンドを入力すれば、インストールが始まります。パッケージによっては、condaではうまくいかない場合があります(Scikit-learnはcondaではダメでしたが、pipではうまくいきました)。その場合は、pipでインストールすればうまくいく場合があるので、試してみるとよいでしょう。
%conda install scikit-learn
また、ライブラリによっては、バージョンによって動かない場合もありますので、問題がある場合には、ネットで情報を集める必要があります。これがPythonの面倒なところです。
Jupyter Notebookを入れておけば、ターミナル上で
%jupyter notebook
と入力すれば、ブラウザが立ち上がり、pythonを動かすことができます。非常に便利ですので、おすすめです。