TensorFlow を Anaconda 環境にインストール ソースコード から編 / How to build and install TensorFlow into your Anaconda environment from source code

TensorFlow を Anaconda 環境にインストール ソースコード から編 / How to build and install TensorFlow into your Anaconda environment from source code

** Sorry, this note is Japanese only, but please take a look at some code snippets. Hope it helps you a bit!

先日紹介した TF Learn / skflow もそうなのですが、TensorFlow は今でも進化し続けており、ソースコードは常に更新されています。
常に最新の機能をインストールしておきたい!という TensorFlow マニアさん向けなのか、公式ドキュメントにも新たに Anaconda 環境にソースコードからインストールする方法が追記されてますので、ここにもまとめておきたいと思います。

** R ユーザーの人はこちらをどうぞ↓ datalove.hatenadiary.jp

TensorFlow を Anaconda 環境にインストール (ソースから)の流れ

TensorFlow をソースコードからインストールする手順は大まかに以下のとおりです(環境は MacOSX です)。

  1. TensorFlow のソースを github から取ってくる
  2. TensorFlow のインストールに必要なツールをインストールする
  3. TensorFlow の build
  4. 3.でbuild した TensorFlow を元に pip パッケージを作成する
  5. 4.で作成した TensorFlow の pip パッケージをインストール

1. TensorFlow のソースを github から取ってくる

TensorFlow のリポジトリはココです。
github.com

$ git clone https://github.com/tensorflow/tensorflow.git

2. TensorFlow のインストールに必要なツールをインストールする

bazel という build ツールと、依存関係のライブラリとかをインストールしておきます。

$ brew install bazel swig
$ pip install six numpy wheel

(任意)GPU 環境で使う場合は、追加で以下を。

$ brew install coreutils
$ brew tap caskroom/cask
$ brew cask install cuda

(任意・GPU の人だけ)んで、cuda ライブラリ関係のパスを追加

export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH=“$DYLD_LIBRARY_PATH:$CUDA_HOME/lib”
export PATH=“$CUDA_HOME/bin:$PATH”

(任意・GPU の人だけ)さらに、cuda のライブラリをビルドに含めるように、cuda ライブラリのインストール先から移動する

$ sudo mv include/cudnn.h /Developer/NVIDIA/CUDA-7.5/include/
$ sudo mv lib/libcudnn /Developer/NVIDIA/CUDA-7.5/lib
$ sudo ln -s /Developer/NVIDIA/CUDA-7.5/lib/libcudnn
/usr/local/cuda/lib/

3. TensorFlow の build

build の方法はそんなに複雑ではなくて、./configure –> bazel を使って build というシンプルな流れ。
それぞれの手順の詳細はこんな感じです。

$ ./configure
Please specify the location of python. [Default is /User/SOME-USER/anaconda/envs/tensorflow/python]: <– python の実行環境の選択
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N] <– Google Cloud Platform の分散環境に対応させるのか、を選択
Do you wish to build TensorFlow with GPU support? [y/N] <– GPU サポートするか選択

今回わたしは、Google Cloud Platform support も GPU support もなしなので、build はこんな感じ。

$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package

これが、Google Cloud Platform support だと(注:先ほどの configure で Google Cloud Platform support に y と答えておいて)

$ bazel build –jobs 2 -c opt //tensorflow/core/distributed_runtime/rpc:grpc_tensorflow_server

という感じになるらしいです。–jobs 2 は必須じゃないけど、インストールするクラウドのサーバのスペックによってはリソース不足になるとかならないとか。
GPU support の場合は、

$ bazel build -c opt –config=cuda //tensorflow/tools/pip_package:build_pip_package

4. 3.でbuild した TensorFlow を元に pip パッケージを作成する

3.の手順が無事に完了すると(すっごい時間かかります)、pip パッケージを作ることができるようになってるので、

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

で、pip パッケージを作成します。

5. 4.で作成した TensorFlow の pip パッケージをインストール

最後は4.で作成したパッケージを pip install して無事にインストール完了。

$ pip install /tmp/tensorflow_pkg/tensorflow-0.9.0-py3-none-any.whl

バージョン No と none とか any の部分は、インストールする環境や python のバージョン(python2 か python3 か)によって変わってくるので、適宜読み替えてください。

TensorFlow を Anaconda 環境にインストール ソースコード から編 参考ページ

公式ドキュメントまんまです。
TensorFlow GET STARTED > Download and Setup > Installing from sources

その他の TensorFlow 関係の記事

手前味噌ですが、当ブログの記事もお役に立つと嬉しいです!
datalove.hatenadiary.jp
datalove.hatenadiary.jp