Google Cloud ShellでTensorFlowの可視化ツールTensorBoardを表示する

TensorBoard

Pythonで機械学習を勉強している方の多くは、TensorFlowを利用していることでしょう。TensorFlowはGoogleがオープンソースで開発を進めているもので、Googleが提供しているサービスにも利用されています。またTensorFlowを可視化するツールとしてTensorBoardも提供されており、TensorFlowを利用した研究には欠かせないツールとなっています。 TensorBoard そして、前回TensorFlowを直ぐに利用できる環境として、Google Cloud Shell (以下 Cloud Shell) を紹介しました。Cloud Shellには最初からTensorFlowがインストールされているため、特別な設定なしで直ぐに利用可能です。 またCloud Shellには「ウェブでプレビュー」できる機能が備わっているためTensorBoardの結果も表示できるのですが、表示されるメッセージ通りだとTendorBoardにアクセスできないため、ここではCloud ShellでTensorFlowを実行した結果をTensorBoardに表示する方法を紹介したいと思います。

TensorBoardの準備

まずはGCPのコンソール画面より適切なプロジェクトを選択した後、画面上部にある「Cloud Shell」ボタンを押下して下さい。 Cloud Shellボタン すると、画面下部に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」に変更しプレビューします。 ウェブでプレビュー ポートの変更 ポート6006に変更 これでTensorBoardが表示されました。 TensorBoard

まとめ

上記のようにCloud ShellでもTensorBoardを表示できることがわかりました。これで環境構築に時間を費やすことなく、安心してCloud Shellを利用しTensorFlowによる学習を行うことができますね。機械学習を行う環境が無償で提供されているGCPには感謝の言葉しかありません。
» エンジニア登録はこちら