tf.train.XXX与train有关的函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a1054513777/article/details/79611801

tf.train.XXX与train有关的函数


tf.train.get_or_create_global_step()

  • 这个函数主要用于返回或者创建(如果有必要的话)一个全局步数的tensor。参数只有一个,就是图,如果没有指定那么就是默认的图。

tf.trainable_variables()

  • 返回所有trainable=True的变量。
  • 当我们在声明变量Variable()时传入trainable=TrueVariable()构造函数会自动添加新的变量到图中的集合GraphKeys.TRAINABLE_VARIABLES,这个函数实质上就是返回这个集合中的变量。

tensorflow.python.training.moving_averages.assign_moving_average

这个函数的参数如下:

def assign_moving_average(variable, value, decay, zero_debias=True, name=None):

对于variable的滑动平均更新为: v a r i a b l e = v a r i a b l e d e c a y + v a l u e ( 1 d e c a y )
下面是一个简单的例子(可以看出variable是变量,而value是常量),这个函数主要应用于batch_normalization

def testAssignMovingAverage(self):
  with self.test_session():
    var = tf.Variable([10.0, 11.0])
    val = tf.constant([1.0, 2.0], tf.float32)
    decay = 0.25
    assign = moving_averages.assign_moving_average(var, val, decay)
    tf.global_variables_initializer().run()
    self.assertAllClose([10.0, 11.0], var.eval())
    assign.op.run()
    self.assertAllClose([10.0 * 0.25 + 1.0 * (1.0 - 0.25),
                         11.0 * 0.25 + 2.0 * (1.0 - 0.25)],
                        var.eval())

猜你喜欢

转载自blog.csdn.net/a1054513777/article/details/79611801