さてさて、私は今のところ、ディープラーニングのコードを
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の使い方に関しては、改めて書きたいと思いますが、
下記の赤丸の部分にチェックが入っていないと、グラフが表示されません。