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 です)。
- TensorFlow のソースを github から取ってくる
- TensorFlow のインストールに必要なツールをインストールする
- TensorFlow の build
- 3.でbuild した TensorFlow を元に pip パッケージを作成する
- 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