2017-04-13 49 views
0

我有个Tensorflow图表(神经网络),在其内部的我定义此变量:避免最小化当模型是评估tensorflow

optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(Joint_Loss) 

当我使用该方法喂我的曲线图

o = sess.run([optimizer], feed_dict={x: batch_x, 
            y: batch_y,} 

我运行图中权重优化的一个步骤(我的网络的权重被更新)。

现在,如果我先前的呼叫的另一个运行具有相同图表(具有优化变量)之后调用,而不指定优化作为提取精氨酸,像这样:

loss = sess.run([loss], feed_dict={x: batch_x, 
            y: batch_y,} 

所述最小化步骤是是否完成(重量更新)?如果它完成了,我可以用tensorflow条件语句来避免它吗?

回答

2

不,网络没有更新。由于您的loss在计算图中不依赖于optimizer,所以tensorflow将省略此操作的执行。

+0

因此,只有当我指定为获取arg一个由优化器正确的变量时,权值才会更新? – sdrabb

+0

是的。或者优化器操作本身。 –