我正在玩Tensorflow
并且有一件事我似乎无法理解:fetches
参数对Session.run()
的作用。
来自doc:
要获取操作的输出,请使用run()执行图形 调用Session对象并传入张量进行检索。
我所理解的是该参数用于从运行步骤中读取某些值。不过,我看到不同的fetches
会带来不同的结果
....´
loss = tf.reduce_mean(
tf.nn.softmax_cross_entropy_with_logits(preactivations_output, tf_train_labels))
optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(loss)
...
train_prediction = tf.nn.softmax(preactivations_output)
...
# This produces a model with 89% accuracy
_, l, predictions = session.run(
[optimizer, loss, train_prediction], feed_dict=feed_dict)
# This produces a model with 10% accuracy
l, predictions = session.run(
[loss, train_prediction], feed_dict=feed_dict)
所以现在我想知道fetches
参数用于什么,因为它似乎影响了训练的运行方式。我没有从文档中真正理解它......