祝、東京リージョンオープンということで、それとはあまり関係ないですが、訳あって必要になったTensorFlowが動く環境をとにかくGCP上に構築したい、という方に向けた速習ガイドです。
TensorFlowは開発ペースがけっこう早いため、しばらくするとこの通りでは動かない可能性があります。
前提
- GCPのアカウントをすでに持っている
- クレジットカードの登録とかを終わらせる必要があります
- Python2系の環境で良い
- Python3系との過渡期なので、本当に2系で良いかは分かりません
- CPU版のTensorFlowで良い
- こちらは本来的にはうれしくはないです。やっぱりGPUを使うべき!
- ですが、TensorFlowを早く動くことが大前提で、チュートリアルをちょっと動かす程度なのでOKだとします。
Step0:gcloudコマンドのインストールと設定(任意)
gcloudコマンドをインストール、設定しておきます。今回はgcloud自体はなくても大丈夫ですが、今後あると色々便利なので設定しておくと良いでしょう。
- CLOUD SDK
- Google Cloud SDKの設定
インスタンスへのログインはSSHでアクセスします。コンソールからブラウザでSSHできる機能が提供されていますのでそれを使ってもいいし、gcloudコマンド経由でも入れます。もちろん、よく使ってるSSHクライアントでも良いです。
以下、インスタンスにログイン後の作業です。基本的にはDownload and Setup に従うだけです。TensorFlowのインストールがいくつか方法がありますが、今回はpipでのインストールとします。
Step1: pipのインストール
念のためのパッケージのupdate
とupgrade
を実行してから、pipとTensorFlowのビルドに必要なライブラリ一式をインストールします。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-pip python-dev
Step2: TensorFlowのインストール
普通にpip install tensorflow
でもインストールできますが、サイトの情報に従います。色々とコンパイルされるっぽいですが、デフォルトのインスタンスタイプでも十分高速に実行されます。
# Python2系かつCPU版の場合はこの環境変数を設定
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl
$ sudo pip install --upgrade $TF_BINARY_URL
Step3: gitのインストール
チュートリアルのサンプルコードを取得するためにgitをインストールしてから、TensorFlowのリポジトリをcloneします。
$ sudo apt-get install git
$ git clone https://github.com/tensorflow/tensorflow.git
Step4: チュートリアルの実行
- TensorFlowのリポジトリのmasterに入っているチュートリアルは現在Python2系だとエラーが出るっぽいです。
- 3系で実行すると大丈夫っぽいですが、3系を入れることの方がめんどくさいので、v0.11のブランチに変更します。
- さらに既知のバグ?っぽいものがあるため、追加で2つのライブラリもインストールします。
- あとはチュートリアルのコードを実行するだけです。
$ sudo pip install pbr funcsigs
$ cd tensorflow
$ git checkout r0.11
# https://www.tensorflow.org/versions/r0.11/tutorials/mnist/beginners/index.html に対応するサンプルコードの実行
$ python tensorflow/examples/tutorials/mnist/mnist_softmax.py
# https://www.tensorflow.org/versions/r0.11/tutorials/mnist/tf/index.html に対応するサンプルコードの実行
$ python tensorflow/examples/tutorials/mnist/fully_connected_feed.py
まとめ
インスタンスにログイン後、一応10回程度コマンドを打てばPython2系のCPU版TensorFlowを使えるようになります。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-pip python-dev
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl
$ sudo pip install --upgrade $TF_BINARY_URL
$ sudo apt-get install git
$ git clone https://github.com/tensorflow/tensorflow.git
$ sudo pip install pbr funcsigs
$ cd tensorflow
$ git checkout r0.11
$ python tensorflow/examples/tutorials/mnist/mnist_softmax.py
$ python tensorflow/examples/tutorials/mnist/fully_connected_feed.py
余談
少し前のfully_connected_feed.py
はマシンがめっちゃ熱くなるような回数ループをぶん回していた記憶がありますが、今はそうでもなさそうです。