機械学習の環境を構築するのにAnacondaをインストールする必要はない。Minicondaを使おう

  • 58
    Like
  • 0
    Comment

Pythonで機械学習の環境を作る、というと山のように「Anacondaをインストールせよ」という記事が出てきますが、実際環境構築はMinicondaというAnacondaの最小構成版で十分です。
ということを伝える記事です。

最速で機械学習の開発環境を作る方法

基本は以下で十分です。

  1. Minicondaをインストールする(※もちろんPython3の方をインストールして下さい)
  2. conda create -n ml_env numpy scipy scikit-learn matplotlib jupyterで開発環境を作成
  3. activate ml_envで作成した開発環境を有効化

実際はMacかWindowsかなどで微妙な差異があるので、詳細はこちらを参照して下さい。

また、開発環境を作成するcondaコマンドの使い方についてはこちらをご参照下さい。

Dockerで開発を行いたい場合は、Minicondaの公式Dockerfileが提供されています。このDockerfileをFROMで継承して、後はcondapipのコマンドで好きに追加ライブラリを入れれば自前のコンテナがすぐに作れます。

TensorFlowやChainerを利用したい場合は、追加でpip installをすれば良いです。

Anacondaを推奨しない理由

Anacondaは、正直重たすぎます。Minicondaなら必要な分だけ選択できるので開発環境の容量は500~600M程度で済みますが、これに比べてAnacondaはインストールしただけで2~3Gは取ります。そして、その中には別段使わないようなライブラリも山のように入っています。

そして、自分の開発しているコードが依存しているライブラリもわからなくなります。いざどこかにデプロイしよう、と思ってもAnacondaにはデフォルトで多くのライブラリがインストールされているのでどのライブラリに依存しているのかわからなくなります。Minicondaなら環境ごとに必要なライブラリがわかります。もちろんAnacondaでも個別のプロジェクトごとに環境を作ることはできますが、それじゃあMinicondaでいいじゃんということになります。

現場からは以上です。