Python未経験者がGoogleが公開した機械学習ライブラリであるTensorFlowの実行環境と快適なコーディング環境を整えるためしっくはっくした記録です
Python自体も快適にコーディングしたかったので、Mac上で本記事作成時点の最新版であるPython 3.5.2 + PyCharmでTensorFlowのMNISTデモをワンクリックで実行できるまでの環境を構築してみます
Homebrewのインストール
パッケージ管理ツールであるHomebrewを初めにインストールします
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
既にインストールされている場合も念のためアップデートしておくことをおすすめします
$ brew update
※インストール時にエラーが起こる場合はXcodeのコマンドラインツールをインストールすると解決する場合があります。Xcodeは事前にインストールしてください!
$ xcode-select --install
pyenv-virtualenvのインストール
Macには初めからPythonがインストールされていますがバージョンが2.x系だったり、El Capitanから導入されたSIPのせいで融通が効かなかったりするので
pyenvから最新版のPythonを入れ、さらにpyenv-virtualenvを使って環境を切り分けるのが良いと思います
以下のコマンドからツールのインストールを行ってください
$ brew install pyenv-virtualenv
Python最新版のインストール
まずはPython最新版をインストールします(ここでは3.5.2をインストールしています)
インストールできる一覧を表示するにはpyenv install -l
と打ち込んで下さい
$ pyenv install 3.5.2
$ pyenv rehash
pyenv installでエラーが起こる場合はXcodeのコマンドラインツールをインストールすると解決する場合があります(2度目)
$ xcode-select --install
Python 3.5.2のTensorFlow用の環境を作成
TensorFlowの実行環境を独立させるため、インストールしたPython 3.5.2を元に名前をつけて環境を作ります。こうしておくことでプラグイン同士の競合によるエラーを減らしたり気軽に別のバージョンを試したりと仮想環境に近いことが出来ます
以下の"TensorFlow"の部分は環境の名前なので適宜変更して下さい
$ pyenv virtualenv 3.5.2 TensorFlow
$ pyenv rehash
作成したTensorFlow用の環境へ切り替え
pyenv global
を使って、作成したTensorFlow環境へ変更します
$ pyenv global TensorFlow
その後でpythonコマンドをたたくと3.5.2に変わっているはずです
$ python -V
Python 3.5.2
もし以下のようにpyenv内ではちゃんと切り替わっているのに、pythonコマンドでは参照が変更されていない場合は、、、
$ pyenv version
TensorFlow (set by /Users/hogehoge/.pyenv/version)
$ python -V
Python 2.7.10
この辺の設定を追加してみて下さい(3行目だけでもいいかも)
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
またTensorFlowインストール後は必要に応じて以下で環境を元に戻せます
$ pyenv global system
環境の指定は後述するPyCharmで行うので、必ずしもpythonコマンドがTensorFlow環境になっている必要はありません
もちろんpythonコマンドから実行する場合は必要ですが。
pipのインストール
次にPython向けのプラグイン管理ツールであるpipをインストールします
最新のPythonをインストールしていれば最初から入ってるらしいですが念のため。
$ sudo easy_install pip
$ sudo pip install --upgrade pip
TensorFlowのインストール
ここでようやくTensorFlowのインストールに移ります。
$ pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py3-none-any.whl
TensorFlowのインストールURLはバージョン指定のようなので最新版は公式から確認して下さい。ここではv0.9を指定しています。
PyCharmのインストール
そして快適なPythonコーディング環境を構築するため、JetBrainネ申が開発したIDEであるPyCharmを以下からダウンロードします
https://www.jetbrains.com/pycharm/download/
補完やブレークポイントもバッチリ動作するしCommunity Editionなら無料で使うことが出来ます。スバラシイ!
PyCharmでプロジェクト作成&TensorFlow環境にプロジェクト設定を適用
PyCharmを起動したら適当にプロジェクトを作成して下さい。
その際にCreate Projectダイアログ上のInterpreterプルダウンから「3.5.2 virtualenv at ~/.pyenv/versions/TensorFlow」を指定して下さい。
また、あとから実行環境を変更する場合にはPreferences -> Project: PROJECT_NAME -> Project Interpreterのプルダウンからも変更できます
TensorFlowのMNISTデモを稼働させる
TensorFlowのMNISTデモの実装自体は公式のチュートリアルや他の解説記事を参考にソースとデータを配置して下さい(丸投げ)
とりあえず動かすだけならお手軽だったので私は↓のサイトの手順に従いました。
http://www.trifields.jp/try-tutorial-mnist-for-ml-beginners-of-tensorflow-1713
一通りソースとデータが用意出来たらおもむろにRunをクリックすれば画面下のコンソールに結果が出るはず
※コンソール上で実行する場合はpyenvで環境がTensorFlow用のものになっているか注意してください
おわり
すでにPythonをガリガリ使っている方はなんてことないと思いますが、TensorFlowを動かしてみたいがためにPythonを初めて触る私みたいな人だと、色々と勝手が違ってつまずくことがあったので備忘録として流れをまとめました。
インストールの手順はこの記事を参考にしました
http://qiita.com/hatapu/items/054dbab03607c47cb84f