我最初也有同样的问题,但找不到答案,所以这就是我如何使用 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])
Run Code Online (Sandbox Code Playgroud)
在此片段中,activation是我对该特定层的 ReLU 后激活。第一个调用tf.count_nonzero(out, axis=0)是计算每个神经元在当前训练步骤的所有训练示例中看到的激活次数。包装第一个tf.count_nonzero( ... )调用的第二个调用计算该层中有多少个神经元对于该步骤的一批训练示例至少有一次激活。最后,我将训练步骤中至少有一次激活的神经元数量除以该层的神经元总数,将其转换为百分比。
有关设置 Tensorboard 的更多信息可以在此处找到。
| 归档时间: |
|
| 查看次数: |
1237 次 |
| 最近记录: |