tensorflow - 为什么以及何时需要在 tensorflow 中使用全局步骤

标签 tensorflow deep-learning

我正在使用 tensorflow,但我不确定为什么我什至需要 global_step 变量,或者它是否是训练所必需的。我有这样的事情:

gradients_and_vars = optimizer.compute_gradients(value) train_op = optimizer.apply_gradients(gradients_and_vars)

然后在 session 中的循环中我这样做:

_ = sess.run([train_op])

我正在使用队列将我的数据提供给图表。我什至需要实例化一个 global_step 变量吗?

我的循环看起来像这样:

while not coord.should_stop():

所以这个循环在它应该停止的时候停止了。那么为什么我需要 global_step 呢?

最佳答案

并非在所有情况下都需要全局步骤。但有时人们想停止训练,调整一些代码,然后继续使用保存和恢复的模型进行训练。然后通常很高兴知道这个模型到目前为止已经训练了多长时间(=多少时间步长)。因此是全局步骤。

此外,有时您的学习率制度可能取决于模型已经接受训练的时间。假设你想每 100.000 步降低你的学习率。如果您不跟踪已走的步数,如果您在训练期间中断了训练并且没有跟踪已走的步数,这可能会很困难。

此外,如果您使用的是 tensorboard,则全局步骤是图表 x 轴的中心参数。

关于tensorflow - 为什么以及何时需要在 tensorflow 中使用全局步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44250392/

相关文章:

python - 当使用 OpenCV 完成图像加载和调整大小时,Resnet50 会产生不同的预测

tensorflow - lstm 不同的输入和输出形状

python - 将一个 tf.Dataset 与另一个 tf.Dataset 随机交错

machine-learning - 在进行完全连接计算之前,Caffe 如何隐式对 blob 进行 reshape ?

machine-learning - TensorFlow 上的简单网络

python - 使用 tf.keras 重写 TensorFlow 和 Keras

python - ValueError : labels shape must be [batch_size, labels_dimension], 得到 (128, 2)

machine-learning - 如何配置 word2vec 不使用负采样?

machine-learning - Tensorflow - 权重噪声正则化

amazon-web-services - AWS 深度学习 AMI 上的 MXNet "Compile with USE_CUDA=1 to enable GPU usage"消息