##目的
TensorFlow(r1.1)を中心とした機械学習環境をMacに構築します。機械学習環境はvirutalenvを利用してPython 3の仮想環境上に構築します。virutalenvを利用することで、システムのライブラリに影響を与えずに、手軽に機械学習環境を構築できます。Linux (Ubuntu 16.04LTS)版はこちら。
virtualenvを利用してPython 3の仮想環境を構築
MacにはデフォルトでPython 3は入ってないので、Python 3をシステムにインストールします。Homebrewを使う方法とPythonの公式ページからインストールする方法があります。Homebrewだとパッケージをまとめてアップグレードする際にPythonもアップグレードされることがあります。Pythonのバージョンをマイナーバージョンまで複数のコンピュータやOSでそろえるならPythonの公式ページからインストールしたほうが便利かもしれません。
brew install python3 # Homebrewを使う場合
次にvirtualenvを利用してPython 3の仮想環境を構築します。
以下のコマンドでtensorflow
という名前のPython 3の仮想環境がカレントディレクトリに構築されます。
pip3 install virtualenv # virtualenvのインストール
virtualenv -p python3 tensorflow # python3の仮想環境を構築
Python 3の仮想環境上にTensorFlowなどの機械学習ライブラリをインストール
Python 3の仮想環境に移動します。移動後はユーザー名の前に仮想環境名が表示されます。
この場合は(tensorflow)。
user@local $ source tensorflow/bin/activate
(tensorflow) user@local $ python --version
Python 3.5.2
仮想環境上でTensorFlowをインストールします。
pip3 install --upgrade tensorflow
上記の方法でうまくいかない時や特定のバージョンをインストールしたい場合は
pip3 install --upgrade \
https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.3.0-py3-none-any.whl
よく使う機械学習関連のライブラリなどもお好みでインストールしましょう。
pip3 install scipy matplotlib scikit-learn Keras jupyter
###仮想環境からの脱出
仮想環境から脱出する際は、deactivate
というコマンドを打てばOK。通常のコマンドライン表示に戻ります。
(tensorflow) user@local $ deactivate
user@local $
##その他pip関連
###パッケージ情報を書き出し、違う環境で同じパッケージをインストール
pip freeze
コマンドでインストールしたパッケージを全て書き出せます。書き出したファイルを違う環境で使えば、同じパッケージをインストールできます。
#インストールしたパッケージ情報を"requirements.txt"に書き出す。
pip freeze > requirements.txt
#同じパッケージをインストール
pip install -r requiremnts.txt
###パッケージを一括アップグレード
以下の一行のコマンドでインストールされているPythonのパッケージを全てアップグレードできます。
pip list --format=legacy --outdated | awk '{print $1}' | xargs pip install --upgrade
##参考
Python (公式ページ): Python Releases for Mac OS X
Homebrew (公式ページ): Homebrew
TensorFlow (公式ページ): Installing with virtualenv
virtualenvについて:
- [pyenvが必要かどうかフローチャート - Qiita] (http://qiita.com/shibukawa/items/0daab479a2fd2cb8a0e7)
-
virtualenvでpython3の環境を作成する際のコマンド - Qiita
pip関連: - [Python アプリ依存パッケージ管理 ベストプラクティス集 - Qiita] (http://qiita.com/zakuro9715/items/68c8d8c6b1b05f91fa2e)
- pipで一括アップデート(確認付き) - Qiita