我目前正在使用带有简单CNN的Tensorflow 2.0,我正在用一些我想在学习过程中可视化的手工过滤器初始化第一层。
在张量板的直方图部分,我仅看到该层的第一个内核,但我想看到所有这些。有没有简单的方法可以做到这一点?
预先感谢
答案 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)