さてさて、私は今のところ、ディープラーニングのコードを
Keras+TensorFlow
で作っています。
TensorFlowには、TensorBoardという便利ツールがあると聞き、使ってみます。
勉強している元ネタの本はこちら。
PythonとKerasによるディープラーニング
無駄にややこしい部分があるので、オススメ本ではありませんw
とりあえずの~ TensorBoardを使ってみたいだけのテストコードを書きます。
import keras
from keras.datasets import imdb
from keras.preprocessing import sequence
max_features = 2000 # number of words to consider as features
max_len = 500 # cut texts after this number of words (among top max_features most common words)
print('Loading data...')
(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)
print(len(x_train), 'train sequences')
print(len(x_test), 'test sequences')
print('Pad sequences (samples x time)')
x_train = sequence.pad_sequences(x_train, maxlen=max_len)
x_test = sequence.pad_sequences(x_test, maxlen=max_len)
print('x_train shape:', x_train.shape)
print('x_test shape:', x_test.shape)
from keras.models import Sequential
from keras import layers
from keras.optimizers import RMSprop
model = 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(lr=1e-4),
loss='binary_crossentropy',
metrics=['acc'])
#下記から下がTensorBoardで記録するための部分
callbacks = [
keras.callbacks.TensorBoard(
log_dir = 'my_log_dir',
histogram_freq = 1
)
]
history = model.fit(x_train, y_train,
epochs=10,
batch_size=128,
validation_split=0.2,
callbacks=callbacks)
映画のレビューデータである、IMDBの分析ですね。
これを実行しますと、実行したプログラムと同じディレクトリ(ここではC:\kerasStudy\my_log_dir)に
events.out.tfevents.1532589203.HOGEHOGEPC
というファイルなどができたりします。
私は、Anacondaを使っているので、Anaconda Promptを立ち上げます。
んで、
C:\Users\Hogehoge>tensorboard --logdir=C:\kerasStudy\my_log_dir
と打ち込みますと、
最後に
TensorBoard 1.8.0 at http://hogehogePC:6060
と出てきます。
後は、ブラウザから、
http://hogehogePC:6060
にアクセスすると、TensorBoardが開けます!!
感動ひとしお~
TensorBoardの使い方に関しては、改めて書きたいと思いますが、
下記の赤丸の部分にチェックが入っていないと、グラフが表示されません。

