【问题标题】:Understanding tensorboard images理解张量板图像
【发布时间】:2018-10-02 00:04:16
【问题描述】:

我想用keras+tensorboard。我的架构如下所示:

tbCallBack = TensorBoard(log_dir='./logs', histogram_freq=2, batch_size=32, write_graph=True, write_grads=True, write_images=True)

K.clear_session()
sess = tf.Session()
K.set_session(sess)

input_img = Input(shape=(augmented_train_data[0].shape[0], augmented_train_data[0].shape[1], 3))

x = Conv2D(8, (1, 1), padding='same', activation='relu', name="1x1_1")(input_img)
x = Conv2D(16, (3, 3), padding='same', activation='relu', name="3x3_1")(x)
x = Conv2D(32, (3, 3), padding='same', activation='relu', name="3x3_2")(x)
x = Conv2D(1, (1, 1), padding='same', activation='relu', name="1x1_2")(x)
x = Flatten()(x)
x = Dense(16, activation='relu')(x)


output = Dense(2)(x)

model = Model(inputs=input_img, outputs=output)
model.compile(optimizer='adam', loss='mean_squared_error')

#tbCallBack.set_model(model)
print(model.summary())

history = model.fit(augmented_train_data, augmented_train_label, validation_data=[augmented_validation_data, augmented_validation_label] ,epochs=20, batch_size=32, callbacks=[tbCallBack])

查看张量板图像选项卡时,它看起来像这样 不过,我不能完全解释这一点,我认为这个选项卡将显示我的卷积的权重在各个时期是如何发展的。那么,如何解释这些图像。还是我在设置张量板时做错了?

【问题讨论】:

  • 你知道发生了什么吗?我之前也在这里问过这个问题,但也没有人回答。
  • 很遗憾没有
  • 如果还有log目录,可以上传到Aughie Boards吗?如果我可以通过交互式仪表板检查图像会更容易回答
  • 不幸的是我没有它们了

标签: keras tensorboard


【解决方案1】:

看起来这正是你得到的。图像的灰度显示权重。顶部的滑块可用于在 epoch 中来回移动,从而查看训练进度。

【讨论】:

  • 但是为什么只有三个偏差(我原以为是八个,每个卷积一个),为什么偏差的场要大得多?
  • 每个频道一个
  • 但是对于每个内核3个偏差不应该还有8乘以3吗?
  • Conv 2D 每个通道应该有一个。在 Keras 源代码中的 Conv2D 定义中,他们为每个通道定义了一个偏差
  • Conv2D source。因此,您看到的 3 个元素可能是其中一个过滤器的偏差。如果您愿意分享您的 TB logdir,我可以进一步查看,现在我所说的一切都只是基于通过查看静态屏幕截图得出的结论。此外,这不仅仅是 Tensorboard 如何翻译数据的问题,也是 Keras 如何编写图像的问题。这是特定于版本的。因此,您应该包含您正在使用的 Keras 和 TB 版本,以用于重现性和源代码参考。
猜你喜欢
  • 2016-07-25
  • 2018-06-09
  • 1970-01-01
  • 2021-06-12
  • 2018-01-17
  • 2020-06-25
  • 2018-10-05
  • 2018-06-09
  • 1970-01-01
相关资源
最近更新 更多