Session.run(fetches, feed_dict)
保证按顺序执行其fetches
参数吗?
文档似乎没有提到。
例如,如果运行以下代码:
sess.run([accuracy, train_op], feed_dict=feed_dict)
执行顺序很重要:
train_op
会更新影响accuracy
的参数。Session.run(fetches, feed_dict)
保证按顺序执行其fetches
参数吗?
文档似乎没有提到。
例如,如果运行以下代码:
sess.run([accuracy, train_op], feed_dict=feed_dict)
train_op
会更新影响accuracy
的参数。https://www.tensorflow.org/api_docs/python/tf/Graph#control_dependencies
希望有所帮助!在发帖后,并在每个训练步骤中是否有可能获得目标函数值?的讨论期间,我注意到执行顺序是未定义的。例如,请考虑以下代码:
import tensorflow as tf
x = tf.Variable(0, dtype=tf.float32)
loss = tf.nn.l2_loss(x-1)
train_opt = tf.train.GradientDescentOptimizer(1)
train_op = train_opt.minimize(loss)
init_op = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
print sess.run([x, train_op])
使用TensorFlow 1.1,如果将环境变量CUDA_VISIBLE_DEVICES
设置为其中一个GPU,则会打印出以下内容:
[0.0, None]
""
,则此代码会打印。[1.0, None]
很遗憾,文档中没有说明执行顺序或警告用户它是未定义的。