概要
pythonにあまり触れたことのない人が、Pythonでの開発環境を構築して、TensorFlowをインストールするところまで解説します。
前提
mac OSX Yosemite以上を想定しています。Linuxの場合は、ツール等のインストール方法が異なるため、注意してください。
pythonの仮想環境の整備 (オプション)
ここは必須ではありません。必要でない方は次の章まで飛ばしてください。
Macには初めからPythonが入っています。しかし、Python界隈では、Python2系とPython3系があり、ライブラリの充実度の関係から、なかなか3系に移行していけていません。そこで共存が必要になることもあります。
また、プロジェクトごとにライブラリのバージョンを管理したいことがあると思います。機械学習系のライブラリは数多く出ていますが、まだまだ黎明期で、高速でアップデートが行われています。前のバージョンで書いたものがすぐに動かなくなるので、迂闊にアップデートできません。そこで、同じライブラリでもプロジェクトごとに管理できると便利です。
これらを簡単にできる以下の2つのツールを導入します。
- pyenv →Pythonのバージョン切り替え
- virtualenv →プロジェクトごとの仮想環境ツール
参考:
Python3なTensorFlow環境構築 (Macとpyenv virtualenv)
pyenvを使ってMacにPythonの環境を構築する
pyenv
pyenvは、pythonのバージョンを切り替えるツールです。python2.7やpython3.5などを切り替えられます。
インストールは、
$ brew install pyenv
~/.profileに下記を記述します。
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
これでpyenvのインストールは終わりです。
しかし最初は、systemという名前の、インストール時のシステムのpythonのバージョンしか入っていません。
pyenv versions
というコマンドで、現在入っているバージョンが確認できます。
$ pyenv versions
* system (set by /Users/someone/.pyenv/version)
Pythonが最初からシステム用に入っているので、これでも使えますが、とりあえず現状のpython2系最新の2.7.11と3系最新の3.51をインストールします。
$ pyenv install 2.7.11
Downloading Python-2.7.11.tgz...
-> https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
Installing Python-2.7.11...
Installed Python-2.7.11 to /Users/someone/.pyenv/versions/2.7.11
$ pyenv install 3.5.1
Downloading Python-3.5.1.tgz...
-> https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
Installing Python-3.5.1...
Installed Python-3.5.1 to /Users/someone/.pyenv/versions/3.5.1
再度pyenv versions
で確認すると
$ pyenv versions
* system (set by /Users/someone/.pyenv/version)
2.7.11
3.5.1
と、2.7.11と3.5.1がインストールされています。
現在の環境はsystemが選択されているため、pyenv global
コマンドで環境を切り替えます。
$ pyenv global 2.7.11
$ pyenv versions
system
* 2.7.11 (set by /Users/someone/.pyenv/version)
3.5.1
これでPython2.7.11上で作業することができます。
pyenv-virtualenv
さらに細かく仮想環境を作るときには、pyenv-virtualenvを使います。とても紛らわしいのですが、単体でvirtualenvというツールも存在し、pyenv-virtualenvと、単体のvirtualenvの2種類があるので、ドキュメントの調査等ではご注意ください。詳しくはこちら。今回は、pyenvの拡張であるpyenv-virtualenvを使います。
pyenv-virtualenvのインストールは
$ brew install pyenv-virtualenv
で終わります。
仮想環境の作成は、
$ pyenv virtualenv {pyenvのバージョン} {仮想環境名}
で作成することができます。それでは、TensorFlowの0.9.0をインストールする環境として、tensorflow0.9.0という名前で作ってみます。
$ pyenv virtualenv 2.7.11 tensorflow0.9.0
........
........
$ pyenv versions
system
* 2.7.11 (set by /Users/ishiday/.pyenv/version)
2.7.11/envs/tensorflow0.9.0
3.5.1
tensorflow0.9.0
$ pyenv global tensorflow0.9.0
$ pyenv versions
system
2.7.11
2.7.11/envs/tensorflow0.9.0
3.5.1
* tensorflow0.9.0 (set by /Users/ishiday/.pyenv/version)
仮想環境が作成できました。
しかしこの状態は、まだ仮想環境に入っていません。pyenv activate
で仮想環境をアクティベートします。
$ pyenv activate
(tensorflow0.9.0) $
このように、アクティベートすると、仮想環境内であることを示すように、(仮想環境名) が前に付きます。次に紹介するpipでライブラリをインストールするときには、この状態で行います。
仮想環境から出る際は、pyenv deactivate
でできます。
これでPython2.7.11でTensorFlowをインストールする仮想環境が整いました。
TensowFlow周りの開発環境の整備
TensowFlowを使う際に必要なライブラリをインストールします。
PyPI
PyPIはPythonのパッケージ管理ツールです。パイパイと呼びます。通常使うときのコマンドはpipです。ほとんど必須ツールなのでいれましょう。以下の場合は、デフォルトでPyPIはインストールされています。
- Python2.7.9以降
- Python3.4以降
- pyenvを使用してインストールした場合
PyPIが入ってるか確かめるときは、
$ pip -V
pip 8.1.1 from /Library/Python/2.7/site-packages/pip-8.1.1-py2.7.egg (python 2.7)
でわかります。
入ってない場合は、以下のコマンドでインストールします。
curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
参考:
Pythonインストール(Mac編)
声に出して読みたい7つのPython用語
TensorFlowのインストール
PyPIでインストールできます。しかしパッケージ登録されているのではなく、ダウンロード先を指定してのインストールになります。環境に応じてソースが異なるため、適切に選択する必要があります。分かれるポイントは以下の通りです。
- GPUの有無 CPUのみ/GPUあり
- OSの種類 Linux / Mac
- Pythonのバージョン 2系 / 3.4 / 3.5
選択するソースについては、公式サイトから確認されることを強くお勧めします。
https://www.tensorflow.org/versions/r0.9/get_started/os_setup.html#pip-installation
GPUがあると、学習速度が格段に向上します。NVidiaのグラフィックボード搭載したPCの場合、GPUをお勧めします。GPUありのバージョンをインストールする場合、Cuda Toolkit 7.5と cuDNN v4という、グラフィックボードを数値計算に用いるためのツールキットのインストールが必要です。この2つがないとインストールに失敗します。CUDAのインストールは鬼門で、かなりハマる場合があるのでご注意ください。
ここでは、
- CPUのみ
- Mac
- Python2系
の条件で、現状で最新版の0.9.0をインストールします。この場合のソースは、
https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py2-none-any.whl
となります。インストール方法は以下です。
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py2-none-any.whl
$ pip install --upgrade $TF_BINARY_URL
TensorFlowの動作確認
エラーなくインストールされたら、TensorFlowがちゃんと動作するか確認します。
公式のインストールテストをそのまま実行しましょう。
(tensorflow0.9.0) $ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>
pythonとコマンドを打つと、コマンドラインでpythonが実行できるモードになります。
exit()
で終了することができます。
ここまでくれば、無事、インストールが終わりました。
引き続いて、チュートリアルを行いましょう。
続きを執筆中です。