如何显示激活值?

数据挖掘 神经网络 深度学习 张量流 激活函数
2022-03-11 05:00:11

我已经建立了我的网络,并想看看在每个训练阶段后特定层的激活如何变化。例如,如下所示的代码,我想查看“act_layer_1”的激活值。我应该怎么做才能看到激活值?提前致谢!

W1 = tf.get_variable('W1', [n_input,n_hidden_1], initializer = tf.contrib.layers.xavier_initializer(seed = 1))
b1 = tf.Variable(tf.constant(0.0, shape=[n_hidden_1], dtype=tf.float32), trainable=True, name='b1'),
act_layer_1 = tf.nn.relu(hidden_layer(x_image, W1) + b1)
drop_layer_1 = tf.nn.dropout(act_layer_1, keep_prob)
1个回答

尽管您没有在代码片段中明确说明,但activation输出可能在函数内部或外部:

  • 外部功能:运行
a = sess.run(act_layer_1)
print(a)
  • 内部函数:您必须返回这个activation与您需要打印的其他值捆绑在一起的值,然后再次使用sess.run()来获取所有值并打印包含您的值的索引。

更长但更好的调试方法是使用 tf.InteractiveSession()。更多详情可在这找到:

如何在 TensorFlow 中打印张量对象的值?