zoukankan      html  css  js  c++  java
  • global_steps

    stackoverflow上的回答:

    global_step指的是图表中看到的批次数。每次提供一批时,权重都会朝着使损失最小化的方向进行更新。global_step只是跟踪到目前为止看到的批次数量。minimize()参数列表中传递变量时,变量将增加一。看一看optimizer.minimize()

    您可以global_step使用获取tf.train.global_step()实用的方法tf.train.get_global_step也很方便tf.train.get_or_create_global_step

    0 是在这种情况下全局步骤的初始值。

    golbal_steps记录了到目前为止有多少个批次进行了训练。

    它的一个作用就是可以用来指数衰减学习率

    global_step = tf.Variable(0)
    learning_rate = tf.train.exponential_decay(0.1, global_step, 100, 0.96, staircase=True) #生成学习率
    learning_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(....., global_step=global_step)  #使用指数衰减学习率
    tf.compat.v1.train.exponential_decay(
        learning_rate,
        global_step,
        decay_steps,
        decay_rate,
        staircase=False,
        name=None
    )

    计算方式如下:

    decayed_learning_rate=learining_rate*decay_rate^(global_step/decay_steps)

    如果staircase = True,那就表明每decay_steps次计算学习速率变化,更新原始学习速率,如果是False,那就是每一步都更新学习速率
  • 相关阅读:
    Blocks to Cubes
    poj1113凸包
    AtCoder Regular Contest 078D
    Codeforces Round #400
    hdu2196树形dp
    Codeforces Round #409
    Codeforces Round #424
    hdu1520树形dp第一题
    Codeforces Round #412
    poj2823单调队列
  • 原文地址:https://www.cnblogs.com/flightless/p/12005005.html
Copyright © 2011-2022 走看看