【问题标题】:How to display a list of all gradients in Tensorboard?如何在 Tensorboard 中显示所有渐变的列表?
【发布时间】:2018-02-18 12:04:00
【问题描述】:

我正在使用 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)

对于我的模型参数,我以这种方式创建摘要:

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

是否有类似的方法可以在 for 循环中获取所有渐变以创建我的摘要?

【问题讨论】:

    标签: python tensorflow deep-learning tensorboard


    【解决方案1】:

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

    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

    # Apply the gradients to adjust the shared variables.
    train_op = opt.apply_gradients(grads, global_step=global_step)
    

    更多信息,您可以去tensorflow cifar10 tutorial

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多