Pythonで機械学習の環境を作る、というと山のように「Anacondaをインストールせよ」という記事が出てきますが、実際環境構築はMinicondaというAnacondaの最小構成版で十分です。
ということを伝える記事です。
最速で機械学習の開発環境を作る方法
基本は以下で十分です。
- Minicondaをインストールする(※もちろんPython3の方をインストールして下さい)
-
conda create -n ml_env numpy scipy scikit-learn matplotlib jupyter
で開発環境を作成 -
activate ml_env
で作成した開発環境を有効化
実際はMacかWindowsかなどで微妙な差異があるので、詳細はこちらを参照して下さい。
また、開発環境を作成するconda
コマンドの使い方についてはこちらをご参照下さい。
Dockerで開発を行いたい場合は、Minicondaの公式Dockerfileが提供されています。このDockerfileをFROM
で継承して、後はconda
やpip
のコマンドで好きに追加ライブラリを入れれば自前のコンテナがすぐに作れます。
-
docker-images/miniconda3/
- やむにやまれない事情がある場合は、Python2のものもあります。
TensorFlowやChainerを利用したい場合は、追加でpip install
をすれば良いです。
Anacondaを推奨しない理由
Anacondaは、正直重たすぎます。Minicondaなら必要な分だけ選択できるので開発環境の容量は500~600M程度で済みますが、これに比べてAnacondaはインストールしただけで2~3Gは取ります。そして、その中には別段使わないようなライブラリも山のように入っています。
そして、自分の開発しているコードが依存しているライブラリもわからなくなります。いざどこかにデプロイしよう、と思ってもAnacondaにはデフォルトで多くのライブラリがインストールされているのでどのライブラリに依存しているのかわからなくなります。Minicondaなら環境ごとに必要なライブラリがわかります。もちろんAnacondaでも個別のプロジェクトごとに環境を作ることはできますが、それじゃあMinicondaでいいじゃんということになります。
現場からは以上です。