keras可视化的强大工具——TensorBoard

keras可视化的强大工具——TensorBoard

概述

取得进展是一个反复迭代的过程(或循环):首先你有一个想法,并将其表述为一个实验,用于验证你的想法是否正确。你运行这个实验,并处理其生成的信息。这又激发了你的下一个想法。在这个循环中实验的迭代次数越多,你的想法也就变得越来越精确、越来越强大。
这是keras之父的一段话,Keras 可以帮你在最短的时间内将想法转化成实验,而高速GPU 可以帮你尽快得到实验结果。但如何处理实验结果呢?这就需要TensorBoard 发挥作用了
在这里插入图片描述

TensorBoard的主要功能

  • 在训练过程中以可视化的方式监控指标
  • 将模型架构可视化
  • 将激活和梯度的直方图可视化
  • 以三维的形式研究嵌入

使用方法

我们用一个简单的例子来演示这些功能:在IMDB 情感分析任务上训练一个一维卷积神经网络。

from keras.layers import Embedding
from keras.datasets import imdb
from keras import preprocessing
from keras.models import Sequential
from keras.layers import Flatten, Dense

max_features = 2000
maxlen = 500

(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)

x_train = preprocessing.sequence.pad_sequences(x_train, maxlen=maxlen)
x_test = preprocessing.sequence.pad_sequences(x_test, maxlen=maxlen)

model = Sequential()
model.add(Embedding(max_features, 128, input_length=maxlen,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.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['acc'])
model.summary()

然后建立文件夹’my_log_dir’,用tensorbord作为回调函数

callbacks = [
    keras.callbacks.TensorBoard(
                log_dir='my_log_dir',
                histogram_freq=1,
                # embeddings_freq=1,
            )
]

history = model.fit(x_train, y_train,
                    epochs=20,
                    batch_size=128,
                    validation_split=0.2,
                    callbacks=callbacks)

在这里插入图片描述
至于分析和含义,见下一篇博客。

发布了25 篇原创文章 · 获赞 41 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_32796253/article/details/89193776