Python 如何在Tensorboard中显示所有渐变的列表?

Python 如何在Tensorboard中显示所有渐变的列表?,python,tensorflow,deep-learning,tensorboard,Python,Tensorflow,Deep Learning,Tensorboard,我使用的是Tensorboard 1.5,我想看看我的渐变效果如何 下面是我正在使用的图层示例: net = tf.layers.dense(features, 40, activation=tf.nn.relu, kernel_regularizer=regularizer, kernel_initializer=tf.contrib.layers.xavier_initializer()) 这是我的优化器: train_op = tf.tr

我使用的是Tensorboard 1.5,我想看看我的渐变效果如何

下面是我正在使用的图层示例:

net = tf.layers.dense(features, 40, activation=tf.nn.relu, kernel_regularizer=regularizer, 
                        kernel_initializer=tf.contrib.layers.xavier_initializer())
这是我的优化器:

train_op = tf.train.AdamOptimizer(learning_rate = learning_rate).minimize(loss)
# Apply the gradients to adjust the shared variables.
train_op = opt.apply_gradients(grads, global_step=global_step)
对于我的模型参数,我通过以下方式创建摘要:

for var in tf.trainable_variables():
    tf.summary.histogram(var.name, var)

有没有类似的方法来获取for循环中的所有渐变以创建我的摘要?

您应该首先使用优化器的
计算梯度
获取渐变,然后将它们传递给摘要:

opt = tf.train.AdamOptimizer(learning_rate = learning_rate)

# Calculate the gradients for the batch of data
grads = opt.compute_gradients(loss)

# Add histograms for gradients.
for grad, var in grads:
  if grad is not None:
    summaries.append(tf.summary.histogram(var.op.name + '/gradients', grad))
然后要执行培训,您可以调用优化器的
apply_gradients

train_op = tf.train.AdamOptimizer(learning_rate = learning_rate).minimize(loss)
# Apply the gradients to adjust the shared variables.
train_op = opt.apply_gradients(grads, global_step=global_step)
更多信息,请访问