TensorBoard
Pythonで機械学習を勉強している方の多くは、TensorFlowを利用していることでしょう。TensorFlowはGoogleがオープンソースで開発を進めているもので、Googleが提供しているサービスにも利用されています。またTensorFlowを可視化するツールとしてTensorBoardも提供されており、TensorFlowを利用した研究には欠かせないツールとなっています。
そして、前回TensorFlowを直ぐに利用できる環境として、Google Cloud Shell (以下 Cloud Shell) を紹介しました。Cloud Shellには最初からTensorFlowがインストールされているため、特別な設定なしで直ぐに利用可能です。
またCloud Shellには「ウェブでプレビュー」できる機能が備わっているためTensorBoardの結果も表示できるのですが、表示されるメッセージ通りだとTendorBoardにアクセスできないため、ここではCloud ShellでTensorFlowを実行した結果をTensorBoardに表示する方法を紹介したいと思います。
TensorBoardの準備
まずはGCPのコンソール画面より適切なプロジェクトを選択した後、画面上部にある「Cloud Shell」ボタンを押下して下さい。
すると、画面下部にCloud Shellが表示されます。
それではTensorFlowを実行するために、以下のソースコードを「add.py」に書きます。前回と同様に足し算の処理を行いましょう。
import tensorflow as tf
a = tf.constant(10)
b = tf.constant(20)
c = tf.add(a, b)
with tf.Session() as sess:
tf.summary.FileWriter('logs', sess.graph)
sess.run(c)
8行目に「logs」フォルダにデータを書き込むように設定しました。
TensorBoardの表示
それではこの「add.py」を実行し、TensorBoradで表示するようにしましょう。
$ python3 add.py
$ tensorboard --logdir=logs
TensorBoard 1.10.0 at http://cs-xxxx-devshell-vm-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:6006 (Press CTRL+C to quit)
tensorboardの実行には設定したlogsフォルダを指定しています。するとURLが表示され、通常であればこのURLにアクセスするとTensorBoardの画面が表示されますが、Cloud ShellですとこのURLにアクセスしても表示することができません。Cloud Shellで表示するには「ウェブでプレビュー」ボタンを押下します。またTensorBoardのポート番号は6006番ですので「ポートの変更」から「6006」に変更しプレビューします。
これでTensorBoardが表示されました。
まとめ
上記のようにCloud ShellでもTensorBoardを表示できることがわかりました。これで環境構築に時間を費やすことなく、安心してCloud Shellを利用しTensorFlowによる学習を行うことができますね。機械学習を行う環境が無償で提供されているGCPには感謝の言葉しかありません。