При попытке использовать супервизор в Tensorflow я знать, что:Как увеличить переменную в тензорном потоке?
вашего обучение цит отвечает за приращением глобальное значение шага.
Так как же приращение переменной в графе в Tensorflow?
При попытке использовать супервизор в Tensorflow я знать, что:Как увеличить переменную в тензорном потоке?
вашего обучение цит отвечает за приращением глобальное значение шага.
Так как же приращение переменной в графе в Tensorflow?
Довольно простое решение:
global_step = tf.Variable(1, name='global_step', trainable=False, dtype=tf.int32)
increment_global_step_op = tf.assign(global_step, global_step+1)
Затем, когда вы хотите, чтобы увеличить его, просто запустить этот цит под текущим tf.Session
sess
.
step = sess.run(increment_global_step_op)
Результат помещается в step
это значение переменной увеличивается на единицу после приращения. В этом случае значение global_step будет увеличиваться. Итак, 2
.
Если вы используете это для global_step, как я, запустите его вместе с вашим training_op
.
result = sess.run([out, increment_global_step_op], {x: [i]})
инкремент/декремент значения является обычной операцией, так что TF имеет операции для упрощения создания графика: tf.assign_add()
и tf.assign_sub()
. Они объединяют две операции (tf.assign()
и tf.add
/tf.sub
).
Вот пример использования:
import tensorflow as tf
x = tf.Variable(0, name='counter')
inc = tf.assign_add(x, 1, name='increment')
with tf.Session() as sess:
# writer = tf.summary.FileWriter('logs', sess.graph)
sess.run(tf.global_variables_initializer())
for _ in xrange(5):
print sess.run(inc)
если вы будете сравнивать tensorboard график в этом примере и в вашем собственном примере, вы увидите, что график имеет меньшее количество узлов.
+1 для размещения trainable = False. Обратите внимание, что метод присваивания может быть заменен на tf.assign_add (global_step, 1) – lmsasu
Что я не понимаю, так это то, как global_step коррелирует с моим оптимизатором? Должен ли я явно указывать оптимизатору, что переменная 'global_step' является моим глобальным шагом или как это работает? – thigi