将步骤编号送入`sess.run`

时间:2016-12-13 07:48:49

标签: tensorflow

在tensorflow中,是否可以在使用sess.run()执行的程序部分内使用步骤编号(例如,通过struct super_block *sget(struct file_system_type *type, int (*test)(struct super_block *,void *), int (*set)(struct super_block *,void *), int flags, void *data) 提供)?

1 个答案:

答案 0 :(得分:0)

是。要创建全局步骤,您可以:

  • 使用像Adam这样的内置优化器(全局步骤将依赖于列车操作)

  • 在tf 0.11中使用tf.contrib.framework.create_global_step,它会创建一个tf变量:

    step = tf.contrib.framework.create_global_step()
    
  • 在tf 0.12中使用tf.train.global_step

    global_step_tensor = tf.Variable(10, trainable=False, name='global_step')
    tf.train.global_step(sess, global_step_tensor)
    

要检索全局步骤,您可以使用tf.contrib.framework.get_global_step(tf 0.11)或tf.train.get_global_step(tf 0.12)。它们返回一个变量,您可以自由访问/赋值:

sess.run(tf.contrib.framework.get_global_step())
Out: 0

step_place = tf.placeholder(tf.int64)
ass_op = tf.assign(tf.contrib.framework.get_global_step(), step_place)
sess.run(ass_op, feed_dict={step_place: 42})
Out: 42
sess.run(tf.contrib.framework.get_global_step())
Out: 42