Tensorflow 如何在tf.layers模块中使用TensorBoard和summary操作
我遵循了使用TensorFlow的tf.layers模块为MNIST数字分类创建CNN。现在我正试着从中学到如何使用张力板。也许本教程最近没有更新,因为它说它的示例代码是对该教程的示例代码和链接的修改,但代码完全不同:它手动定义了一个完全连接网络的隐藏层 TensorBoard教程演示了如何使用tf.summary将摘要附加到图层,方法是在图层的权重张量上创建操作(因为我们手动定义了图层,所以可以直接访问该张量),并将tf.summary对象附加到这些操作。如果我使用tf.layers及其教程代码,我相信我必须:Tensorflow 如何在tf.layers模块中使用TensorBoard和summary操作,tensorflow,deep-learning,tensorboard,tensorflow-layers,Tensorflow,Deep Learning,Tensorboard,Tensorflow Layers,我遵循了使用TensorFlow的tf.layers模块为MNIST数字分类创建CNN。现在我正试着从中学到如何使用张力板。也许本教程最近没有更新,因为它说它的示例代码是对该教程的示例代码和链接的修改,但代码完全不同:它手动定义了一个完全连接网络的隐藏层 TensorBoard教程演示了如何使用tf.summary将摘要附加到图层,方法是在图层的权重张量上创建操作(因为我们手动定义了图层,所以可以直接访问该张量),并将tf.summary对象附加到这些操作。如果我使用tf.layers及其教程代
这是将TensorBoard与tf.layers一起使用的最佳方式,还是有一种更直接地与tf.layers和功能接口兼容的方式?如果有,是否有更新的官方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)
不确定这是否是最好的方式,但我相信这是做你想做的事情最直接的方式
希望这有帮助 你可以用这样的东西
with tf.name_scope('dense2'):
preds = tf.layers.dense(inputs=dense1,units = 12,
activation=tf.nn.sigmoid, name="dense2")
d2_vars = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, 'dense2')
tf.summary.histogram("weights", d2_vars[0])
tf.summary.histogram("biases", d2_vars[1])
tf.summary.histogram("activations", preds)
另一种选择是使用
tf.layers.Dense
而不是tf.layers.Dense
(d
和d
之间的区别)
密集型的范例是:
x = tf.placeholder(shape=[None, 100])
dlayer = tf.layers.Dense(hidden_unit)
y = dlayer(x)
使用dlayer
作为中间层,您可以执行以下操作:
k = dlayer.kernel
b = dlayer.bias
k_and_b = dlayer.weights
请注意,在应用y=dlayer(x)
之前,您不会获得dlayer.kernel
其他层的情况类似,例如卷积层。用任何可用的自动完成功能检查它们。这是我在问题中提到的选项,我想看看是否有替代选项。