Tensorflow global_step

一、基本

一次梯度更新算一个step

1.1 创建

# 这个其实是获取, 所以global_step必须之前有值,否则会报错。
tf.train.get_global_step(graph=None)


# 这个是创建.
tf.train.get_or_create_global_step(graph=None)

二、高级

1.1 手动更新

global_step = tf.train.get_or_create_global_step()

op = tf.assign(global_step, global_step+1)

1.2 自动更新

import tensorflow as tf

global_step = tf.train.get_or_create_global_step()
learning_rate = tf.constant(value=0.01, shape=[], dtype=tf.float32)
learning_rate = tf.train.polynomial_decay(learning_rate, global_step,
                                          500, end_learning_rate=0.0,
                                          power=2.0, cycle=True)

mean_loss = tf.Variable(1.0, dtype=tf.float32)
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate, beta1=0.9, beta2=0.98, epsilon=1e-8)
train_op = optimizer.minimize(mean_loss, global_step=global_step)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())

    for step in range(10):
        _, cur_step = sess.run([train_op, global_step])
        print(cur_step)

在minimize的时候,会自动更新global_step。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值