![](/img/trans.png)
[英]How do I use @Valid with Spring MVC's @RequestBody parameters?
[英]How to use tf.session.run() for testing (not updating network's parameters)?
通常我使用tf.session.run()來訓練我的網絡,並使用eval()來獲得測試的准確性或丟失。 但是我看到人們也使用session.run()獲取測試結果,這對我來說很奇怪。 我認為tf.session.run()僅用於培訓,而不是測試。
在tf.session.run()下有什么秘密我不知道嗎?
非常感謝你!
tf.session.run()
意味着運行一個或多個TF操作,或評估TF張量,甚至可能混合這兩個類別。
當調用張量時,它基本上就像eval()
一樣評估它。 您可以使用sess.run(train_op, feed_dict=train_data)
將其用於訓練,這將更新您的變量值,因為這就是train_op的作用。 但是,如果你調用sess.run(accuracy, feed_dict=data)
,當輸入值是data
給出的值時,無論是訓練,驗證還是測試數據,它都會評估accuracy
張量的值,它會不更改變量值,因為您只是評估張量,而不是運行更改變量值的操作。
所以tf.session.run()
比你想象的要廣泛得多,這是通常的方式進行推理或評估你的表現,即使在測試時!
您甚至可以同時執行多項操作,這樣可以避免在同一輸入上多次執行正向傳遞:
_, loss_value, accuracy_value = sess.run([train_op, loss_tensor, accuracy_tensor], feed_dict=data)
print('Loss value: %f' % loss_value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.