在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)
提供)?
答案 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