KerasでTensorBoard

Ubuntu 18.04, Tensorflow 1.11, Keras 2.2.2でTensorBoardを使ってみた。

TensorBoardはTensorflowの強力な可視化フレームワークだが、Keras本の第7章のサンプルでは動作しなかったので
多少、プログラムに手を入れて動作するようにした。

プログラムの内容はIMDB(インターネット映画データベース)感情分析タスクをCNNで訓練したものだ。
しばらく訓練すると過学習に陥ってしまう、あまり良くないサンプルだがTensorboardで解析してみよう。

まず、TensorBoardのログ用フォルダをプログラムを実行するフォルダに作成。

mkdir my_log_dir


tensorboard.py

import keras
from keras import layers
from keras.datasets import imdb
from keras.preprocessing import sequence 

max_features = 2000
max_len = 500 
(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)
x_train = sequence.pad_sequences(x_train, maxlen=max_len)
x_test =  sequence.pad_sequences(x_test, maxlen=max_len) 
model = keras.models.Sequential()
model.add(layers.Embedding(max_features, 128, input_length=max_len, name='embed'))
model.add(layers.Conv1D(32, 7, activation='relu'))
model.add(layers.MaxPooling1D(5))
model.add(layers.Conv1D(32, 7, activation='relu'))
model.add(layers.GlobalMaxPooling1D())
model.add(layers.Dense(1))
model.summary()
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['acc'])
 
callbacks = keras.callbacks.TensorBoard(log_dir = 'my_log_dir', histogram_freq=1, #embeddings_freq=1,
                                write_graph=True, write_grads=True, write_images=True  )
cbks = [callbacks]
history = model.fit(x_train, y_train, epochs=10, batch_size=128, validation_split=0.2,
                    callbacks=cbks, validation_data=(x_test, y_test)
                   )
 
プログラムを実行後、TensorBoardを起動する。
tensorboard --logdir=my_log_dir



ブラウザで
http://localhost:6006
にアクセスする。
 
グラフ表示
 
 
ヒストグラム
 
 
最終修正日2018/10/08(月) 11:43
(0 件の投票)
読む 263 回読まれました
タグ: :

このカテゴリをもっと見る

« Tensorflow 1.11 + Cuda 10.0でDeep Learning

コメントする

(*)で示された必須情報を入力したか確認して下さい。HTMLコードは許可されません。