Pythonの環境構築からTensorFlowインストール

  • 81
    いいね
  • 3
    コメント
この記事は最終更新日から1年以上が経過しています。

概要

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のバージョンを切り替えるツールです。pyhon2.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()で終了することができます。

ここまでくれば、無事、インストールが終わりました。
引き続いて、チュートリアルを行いましょう。
続きを執筆中です。