Python 张力板+;tensorflow.slim一起工作

Python 张力板+;tensorflow.slim一起工作,python,tensorflow,tensorboard,tensorflow-slim,Python,Tensorflow,Tensorboard,Tensorflow Slim,在低级tensorflow API上,我可以使用以下代码绘制直方图 .. some code .. with tf.name_scope('output_layer'): weights = tf.Variable(tf.random_normal([d1, d2], dtype=tf.float32), name='weights') biases = tf.Variable(tf.random_normal([d2], dt

在低级tensorflow API上,我可以使用以下代码绘制直方图

.. some code ..
with tf.name_scope('output_layer'):
    weights = tf.Variable(tf.random_normal([d1, d2], dtype=tf.float32),
                          name='weights')
    biases = tf.Variable(tf.random_normal([d2], dtype=tf.float32), 
                         name='biases')

tf.summary.histogram('output_weights', weights)
tf.summary.histogram('biases', biases)
最近我决定试用
slim
API,我想知道如何在简单和更复杂的情况下管理TensorBoard图

例如,如果我想在以下两个示例中绘制权重的直方图(如
tf.summary.histogram
)和偏差的平均值(如
tf.summary.scalar
),我会怎么做

简单的例子:

with tf.name_scope('output_layer'):
    predictions = slim.fully_connected(inputs, d2)
复杂的例子:

with tf.name_scope('output_layer'):
    predictions = slim.stack(inputs, slim.fully_connected, [32, 64, 128])

我认为这样做的标准方法是有这样一个循环,它将为每个层添加权重、偏差、批次规范参数等的分布和直方图:

for variable in slim.get_model_variables():
    tf.summary.histogram(variable.op.name, variable)

我怎样才能用这种方法得到重量的平均值?这只是简单地尝试对图表中的每个可训练变量进行柱状图…上述解决方案将为每一层权重提供一个柱状图,这最终是一个(多维)变量--这就是您试图做的,对吗?不,我在问题中说,如果我想得到权重的平均值,或者对特定变量集的任何其他变换,你知道分布仪表板吗?如果中位数对你来说是合适的,那么它已经显示在那里了(使用上面的代码)。否则,只需对变量执行所需的操作,如
tf.reduce\u mean
。我以平均值为例。是的,我想运行一些东西,比如
reduce\u mean
,但为此我需要专门访问一些东西。那么,如果你考虑我的复杂例子,你会如何得到第二层权重的平均值?我知道仪表盘——正如我所说的,这只是一个例子,我可能还需要计算他们的l2范数