如何使用张量板可视化直方图中的每一层多个内核

时间:2019-12-11 16:58:46

标签: tensorboard tensorflow2.0

我目前正在使用带有简单CNN的Tensorflow 2.0,我正在用一些我想在学习过程中可视化的手工过滤器初始化第一层。

在张量板的直方图部分,我仅看到该层的第一个内核,但我想看到所有这些。有没有简单的方法可以做到这一点?

预先感谢

1 个答案:

答案 0 :(得分:0)

创建一个小的函数在时代结束时在displaycallback上执行此操作是我解决的方法,它不是最干净的方法,如果有人可以纠正它,那将是很好的方法:)

class DisplayCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs=None):
    variables_names = [v.name for v in model.trainable_variables]

    with file_writer_cm.as_default():
        for i in range(model.layers[0].get_weights()[0].shape[3]):
            tf.summary.histogram(variables_names[0].split('/')[0]+"/kernel_"+str(i), model.layers[0].get_weights()[0][:,:,:,i], step=epoch)