我想我可能有死亡Relus的问题,但我真的不知道如何用张量板或任何其他方式检查它。非常感谢您的帮助。
答案 0 :(得分:2)
我最初自己也有同样的问题而无法找到答案,所以这就是我用Tensorboard做的事情(这假设对Tensorboard有些熟悉)。
activation = tf.nn.relu(layer)
active = tf.count_nonzero(tf.count_nonzero(activation, axis=0))
tf.summary.scalar('pct-active-neurons', active / layer.shape[1])
在此剪辑中,activation
是此特定图层的ReLU后激活。对tf.count_nonzero(out, axis=0)
的第一次调用是计算每个神经元在当前训练步骤的所有训练样例中看到的激活次数。包裹第一次调用的第二次调用tf.count_nonzero( ... )
计算该层中有多少神经元对该步骤的一批训练示例至少有一次激活。最后,我通过将训练步骤中至少有一次激活的神经元数量除以该层的神经元总数,将其转换为百分比。
有关设置Tensorboard的更多信息,请访问here。
答案 1 :(得分:0)
如何添加摘要
tf.summary.scalar('%s/fraction_of_zero_values' % tag, tf.nn.zero_fraction(value))