Edited at

AWS上でTensorBoardを使用する

More than 1 year has passed since last update.


Intro

今は、業務であまり機械学習を書く機会がなくなってきてしまって寂しい気持ちです。

憂さ晴らしに友人とKaggleをやるのですが、自前のGPUをもっていないのでAWSを借りてやります。

Kernelでは、Kerasを使って書いている人が多い印象があり、そのまま流用することが多いため、

学習経過の確認はTensorBoardでするのが楽です。

その方法を調べたので残します。


Setup

Deep Learning AMIを借りましょう。ubuntuでいいですね。

その時、気をつけて欲しいのがセキュリティグループです。

ssh, https, httpなど用途に応じて必要なポートを開けると同時に、

カスタムTCPでインバウンドポート6006を開けておいてください。

結論から言えば、

AWS上でTensorBoardを回す際は、sshトンネルとかする必要は特にありません。

ポート6006を開けておけば、http://YourInstancePublicDNS:6006でアクセスできます。

詳しいことは、こちら

そしたら、

pip install tensorflow-gpu tensorboard keras 

として、必要なものを入れておきます。

あと、時たま起こりますが、kerasを普通に使うと、theanoを読むことがあります。

その時は、.keras/keras.jsonのbackendをtensorflowに書き換えてください

あとは、kerasでモデルを学習する際に、

from keras.hoge import fuga 

....

from keras.callbacks import TensorBoard

tensorboard = TensorBoard()

model = Sequential()
model.add()
model.add()
....

model.compile()
model.fit(x_train, y_train, callbacks=[tensorboard])

にして、コマンドラインから、

tensorboard --logidr=logs

としたらOK。

細かい設定はほかの記事に任せます。


Reference