CollaboratoryのTensorflow2.0で簡単にTensorboardを利用
5715 ワード
Google CollaboratoryのTensorflow2.0はTensorboardが簡単に使える。メモ。
1. 準備
#tf-nightly-2.0-previewのインストール
%pip install tf-nightly-2.0-preview
import tensorflow as tf
from tensorflow.keras.layers import Input, Dense, Flatten, Dropout
from tensorflow.keras import Model
import datetime, os
print(tf.version)
#テスト用のFashion MNISTデータセットロード
fashion_mnist = tf.keras.datasets.fashion_mnist
(xTrain, yTrain),(xTest, yTest)=fashion_mnist.load_data()
#正規化
xTrain,xTest = xTrain/255.0,xTest/255.0
2. Tensorboardの呼び出し
#Tensorboardの呼び出し
%load_ext tensorboard
#モニタリング用にTensorboardを表示
%tensorboard --logdir logs
3. 簡単なモデルの作成
def create_model():
inputs = Input((xTrain.shape[1],xTrain.shape[2]))
x = Flatten()(inputs)
x = Dense(256, activation="relu")(x)
x = Dense(256, activation="relu")(x)
x = Dropout(0.2)(x)
x = Dense(512, activation="relu")(x)
predictions = Dense(10, activation='softmax')(x)
model = Model(inputs=inputs, outputs=predictions)
model.summary()
return model
model = create_model()
model.compile(optimizer="adam",loss='sparse_categorical_crossentropy',metrics=['accuracy'])
4. コールバックにTensorboardを使用する定義
#ログディレクトリの命名
logdir = os.path.join("logs", datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
#tensorbordコールバックの定義。histogram_freqは書き込み頻度。
#少ないほど細かくなるが、重くなるので注意
tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)
5. トレーニングの実行
コールバックにTensorboardを入れて、トレーニングを実施。
#トレーニングによるモデルの最適化
model.fit(x=xTrain, y=yTrain, epochs=30,validation_data=(xTest, yTest),callbacks=[tensorboard_callback])
これだけで先ほど呼び出したTensorboardでリアルタイムにモニタリング可能。
- リアルタイムで更新されない場合は、'Write a regex to filter runs' のチェックボックスを一旦外して入れ直すと表示される。
先にTensorboardを呼び出してリアルタイムモニタリングを行うと、HistogramやDistributionなど、一部の項目が消えるバグがあるのが残念。
終了後のTensorboard呼び出しなら問題なし。
参考
Author And Source
この問題について(CollaboratoryのTensorflow2.0で簡単にTensorboardを利用), 我々は、より多くの情報をここで見つけました https://qiita.com/tetrar124/items/aa27b4d616c859860d02著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .