GoogleのTensorflow、GPUマシンでないとなかなか性能がでないので
EC2で作成してみます。
TensorflowはCUDA3.5以降対応だとかで、AWSのEC2インスタンスで使用可能なg2.2xlargeではCUDA3.0。ということでそのままでは使えないそうです
というわけで、いろいろ調べたところ、偉い方々が手順を示してくれています。
https://www.tecnos-dsm.co.jp/archives/info/technical_info_04
2016/3/17現在、これらの手順ですとTensorflowをコンパイルする際にエラーになります
$ bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package ....... ERROR: /home/ubuntu/tensorflow/WORKSPACE:16:6: First argument of load() is a path, not a label. It should start with a single slash if it is an absolute path.. ERROR: WORKSPACE file could not be parsed. ERROR: no such package 'external': Package 'external' contains errors. INFO: Elapsed time: 0.444s
これの回避策がこちらに
単純な話でbazelのバージョンのせいだとか。
bazelをコンパイルしなおします
git clone https://github.com/bazelbuild/bazel.git cd bazel git checkout tags/0.1.4 ./compile.sh sudo cp output/bazel /usr/bin
その後、Tensorflowのコンパイル
$ bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package Extracting Bazel installation... Sending SIGTERM to previous Bazel server (pid=11695)... done. ....... INFO: Found 1 target... INFO: From Executing genrule @png_archive//:configure [for host]: /home/ubuntu/.cache/bazel/_bazel_ubuntu/ad1e09741bb4109fbc70ef8216b59ee2/tensorflow/external/png_archive/libpng-1.2.53 /home/ubuntu/.cache/bazel/_bazel_ubuntu/ad1e09741bb4109fbc70ef8216b59ee2/tensorflow ...
うまくいきました