Tensorboard—使用keras结合Tensorboard可视化

1. keras如何使用tensorboard

        keras使用tensorboard是通过回调函数来实现的,关于什么是keras的“回调函数”,这里就不再赘述了,所以Tensorboard也是定义在keras.callbacks模块中的,通过构造一个Tensorboard类的对象,然后在训练的时候在fit里面指定callbacks参数即可,keras使用的一般格式为:

# 构造一个Tensorboard类的对象
tbCallBack = TensorBoard(log_dir="./model",update_freq='batch', histogram_freq=0,write_graph=True, write_images=True,...)
 
# 在fit 里面指定callbacks参数
history=model.fit(x_train, y_train, 
                  batch_size=batch_size, 
                  epochs=epochs, 
                  verbose=2, 
                  validation_split=0.2,
                  callbacks=[tbCallBack])

2. Tensorboard类详解

该类在keras.callbacks模块中。它的参数列表如下:

  • log_dir: 用来保存被 TensorBoard 分析的日志文件的文件名。
  • histogram_freq: 对于模型中各个层计算激活值和模型权重直方图的频率(训练轮数中)。 如果设置成 0 ,直方图不会被计算。对于直方图可视化的验证数据(或分离数据)一定要明确的指出。
  • write_graph: 是否在 TensorBoard 中可视化图像。 如果 write_graph 被设置为 True。
  • write_grads: 是否在 TensorBoard 中可视化梯度值直方图。 histogram_freq 必须要大于 0 。
  • batch_size: 用以直方图计算的传入神经元网络输入批的大小。
  • write_images: 是否在 TensorBoard 中将模型权重以图片可视化,如果设置为True,日志文件会变得非常大。
  • embeddings_freq: 被选中的嵌入层会被保存的频率(在训练轮中)。
  • embeddings_layer_names: 一个列表,会被监测层的名字。 如果是 None 或空列表,那么所有的嵌入层都会被监测。
  • embeddings_metadata: 一个字典,对应层的名字到保存有这个嵌入层元数据文件的名字。 查看 详情 关于元数据的数据格式。 以防同样的元数据被用于所用的嵌入层,字符串可以被传入。
  • embeddings_data: 要嵌入在 embeddings_layer_names 指定的层的数据。 Numpy 数组(如果模型有单个输入)或 Numpy 数组列表(如果模型有多个输入)。 Learn ore about embeddings。
  • update_freq: 'batch' 或 'epoch' 或 整数。当使用 'batch' 时,在每个 batch 之后将损失和评估值写入到 TensorBoard 中;同样的情况应用到 'epoch' 中;如果使用整数,例如 10000,这个回调会在每 10000 个样本之后将损失和评估值写入到 TensorBoard 中。注意,频繁地写入到 TensorBoard 会减缓你的训练。

3. 打开TensorBoard方式

  Terminal中输入:tensorboard --logdir=G:\python\Machine_learning\yangzhou\LSTM_window\logs 

4. 用tensorboard显示损失函数的值曲线图,为何会有颜色深浅两条线

  深色线:平滑之后

  浅色线:真实曲线

    tensorboard左边有一个平滑度数选择,默认是0.6,调节之后曲线就会发生变化,原来颜色浅的才是真实曲线,但真实曲线往往不好看,所以加入了平滑产生了颜色深的线。

                            Tensorboard—使用keras结合Tensorboard可视化_第1张图片

                            Tensorboard—使用keras结合Tensorboard可视化_第2张图片

                             Tensorboard—使用keras结合Tensorboard可视化_第3张图片

5. 其他解释参考文章

  Tensorboard深入详解(一)——使用keras结合Tensorboard可视化神经网络详细教程

你可能感兴趣的:(深度学习,TensorBoard,深度学习,TensorFlow)