##動機
この数年で機械学習が大きく進んだのはなぜだろうかと思っていたところ、phthonを使って丁寧に解説した本に出会えました。ゼロから作るDeep Learning
――Pythonで学ぶディープラーニングの理論と実装。
anacondaをご推薦ということですので、早速Mac君に実行環境をつくろうとしたのですが、google先生やQiitaで調べてみたものの、皆様おすすめがまちまちで、正直よくわからない。いろいろ調べましたが、自分の場合は、直接anacondaをインストールすることにしました。
記事から勉強
Anacondaとは何だろう。
原点にあたると、AnacondaはThe Most Popular Python Data Science Platformで、Anaconda Partners, Anaconda Enterprise,Anaconda Distrubution, Anaconda Supportなどを包含する。その核となるのがAnaconda Distrubutionで、データサイエンスのパッケージとcondaパッケージ、Windows, Linux, MacOSの仮想環境マネージャを含む。(知っている人にはよくわかるんだろうなという解説。)
ざっくりいうと、データサイエンス用のPythonライブラリとそれを管理してくれるツール。
参考:t2y,"Anaconda は Environment Isolation Tool (環境分離ツール) ではない",Qiita,2016/11/12 Anacondaとは何か解説してあります。
Anacondaは、Open Data Scienceのためのディストリビューション。ディストリビューションは、ソースやバイナリを配布するために、パッケージ管理システムをもつ。
パッケージ管理には、システム管理のためのパッケージ管理と、アプリケーションに必要なものをユーザー領域に構築するアプリケーションのためのパッケージ管理がある。(ana)condaは、Open Data Scienceやデータサイエンスのコラボレーションなどの促進を意図したアプリケーションのためのパッケージ管理ツール。
Anacondaの問題点
なお、sibukawa氏の記事によれば
Anacondaの/binをパスに設定するのですが、Anacondaがなかで持っているツール(openssl/curl/python)がOSの持っているツールを覆い隠してしまいます。
とのことですが、アンインストールも簡単らしいので、このままが楽かも。
手順など
t2y,"Anaconda で Python 環境をインストールする",Qiita,2017/2/4
PyEnv
shibukawa,"pyenvが必要かどうかフローチャート",Qiita,2017/9/3
Environment Isolation Tool(環境分離ツール)というカテゴリの開発補助ツールがある。
venv/virtualenv
##それでどうしたのか
anaconda をそのままインストールした。
※注意1インストール後、shからpythonをたたくと、システムのpythonの代わってanacondaのpythonが起動する。
早速、エディタを起動する。
ipython notebook
##資料
カテゴリ | name | 概要 | 特長/注意 |
---|---|---|---|
Macパッケージ管理 | Homebrew | ||
バージョン管理 | pyenv | pythonのバージョン管理 | 2と3両方入れて切り替えられるが、変えない人には手間が増える |
環境管理 | virtual-env | ||
ディストリビューション | anaconda | python+パッケージ | PATHの登録順に注意 |
パッケージ管理 | conda | anaconda用 | |
パッケージ管理 | pip | python一般 |
環境構築例
記事 | パッケージ | 環境管理 | distribution | ライブラリ管理 | ライブラリ | 機械学習 ライブラリ |
エディタ | IDE |
---|---|---|---|---|---|---|---|---|
吉崎 | homebrew | python3 | pip | numpy, scipy, matplotlib, pandas |
scikit-learn, chainer, jupyter | atom | ||
shizma | homebrew | pyenv, virtualenv | anaconda | pip | ipython notebook | |||
自分 | なし | なし | anaconda | conda | 適宜 | 適宜 | ipython notebook |