如何在 Tensorboard 中显示所有渐变的列表?
How to display a list of all gradients in 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.train.AdamOptimizer(learning_rate = learning_rate).minimize(loss)
对于我的模型参数,我以这种方式创建摘要:
for var in tf.trainable_variables():
tf.summary.histogram(var.name, var)
是否有类似的方法来获取 for 循环中的所有梯度来创建我的摘要?
你应该首先使用优化器的 compute_gradients
获取梯度,然后将它们传递给 summary:
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。
我正在使用 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 循环中的所有梯度来创建我的摘要?
你应该首先使用优化器的 compute_gradients
获取梯度,然后将它们传递给 summary:
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。