Как рассчитать убыток без обновления модели в тензорном потоке

Насколько я понимаю, ниже код будет вычислять параметры потери и обновления в модели одновременно.

_, c = sess.run([optimizer, loss], feed_dict={x:x, y:y}) 

так как рассчитать убыток без обновления модели?

 _, c1 = sess.run([optimizer, loss], feed_dict={x:x, y:y}) _, c2 = sess.run([optimizer, loss], feed_dict={x:x, y:y}) 

Например, c1 != c2 поскольку первая строка обновила модель.

Update1

Я пробовал под кодом, просто запускаю без optimizer

 c1 = sess.run([loss], feed_dict={x:x, y:y}) c2 = sess.run([loss], feed_dict={x:x, y:y}) 

но c1 все еще не равно c2

UPDATE2

слой отсечки в моей модели вызывает разницу между c1 и c2 в моем UPDATE1

One Solution collect form web for “Как рассчитать убыток без обновления модели в тензорном потоке”

Чтобы рассчитать потери без обновления модели, просто запустите операцию loss без операции optimizer .

 c = sess.run(loss, feed_dict={x:x, y:y}) 

Обратите внимание, что при запуске sess.run([optimizer, loss], feed_dict={x:x, y:y}) вы получаете значение потерь перед применением обновлений, поэтому выполните:

 _, c1 = sess.run([optimizer, loss], feed_dict={x:x, y:y}) c2 = sess.run(loss, feed_dict={x:x, y:y}) 

По-прежнему будут давать разные значения c1 и c2 , так как c2 – это значение потерь после обновления модели.

Python - лучший язык программирования в мире.