我已经按照 TensorFlow Layers tutorial 使用 TensorFlow 的 tf.layers 模块为 MNIST 数字分类创建了一个 CNN。现在我正在尝试从 TensorBoard: Visualizing Learning 学习如何使用 TensorBoard。也许这个教程最近没有更新,因为它说它的示例代码是对那个教程和链接的修改,但代码完全不同:它手动定义了一个单隐藏层的全连接网络。
TensorBoard 教程展示了如何使用 tf.summary 通过在图层的权重张量上创建操作来将摘要附加到图层,因为我们手动定义了图层,因此可以直接访问,并将 tf.summary 对象附加到这些操作。如果我使用 tf.layers 和它的教程代码,要做到这一点,我相信我必须:
这是将 TensorBoard 与 tf.layers 一起使用的最佳方式,还是有一种更直接兼容 tf.layers 和功能接口(interface)的方法?如果是这样,是否有更新的官方 TensorBoard 教程?如果文档和教程更加统一,那就太好了。
最佳答案
您应该能够使用 tf.layers 调用的输出来获取激活。取链接层教程的第一个卷积层:
# Convolutional Layer #1
conv1 = tf.layers.conv2d(
inputs=input_layer,
filters=32,
kernel_size=[5, 5],
padding="same",
activation=tf.nn.relu)
你可以这样做:
tensor_name = conv1.op.name
tf.summary.histogram(tensor_name + '/activation', conv1)
不确定这是否是最好的方法,但我相信这是做你想做的最直接的方法。
希望这可以帮助!
关于tensorflow - 如何在 tf.layers 模块中使用 TensorBoard 和汇总操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49201832/