如何查看與dropout訓練TensorFlow神經網絡實際使用的輟學的精度和成本?如何記錄或查看用於訓練具有丟失的TensorFlow神經網絡的成本?
正如預期的那樣,每個I運行summary時間,例如與
train_writer.add_summary(sess.run(merged, feed_dict=foo), step)
或
print(sess.run(accuracy, feed_dict=foo))
如果網絡包括退學生,而foo
飼料「保持概率」 1.0之外,我會得到不同的值,這樣,例如,我得到一個不同的每次損失或準確性 - 例如,三點連
print(sess.run(accuracy, feed_dict=foo))
print(sess.run(accuracy, feed_dict=foo))
print(sess.run(accuracy, feed_dict=foo))
準確性緊跟連續計算可能會給像
75.808
75.646
75.770
儘管它們大致相同,但它們並不完全一樣,大概是因爲每次評估時,網絡都會丟棄不同的節點。這樣做的後果必然是我從未看到在培訓中實際遇到的成本。
如何登錄或查看與輟學訓練TensorFlow神經網絡的實際使用(使用網絡計算機或其他彙總值)的成本是多少?
「問題」是不是我得到三個(或然而,許多)不同的值(這是預期的),它是關於如何進入訓練過程中遇到的一個。 – orome
爲了確保我有關於如何完成訪問的關鍵點:是否提供給「run」的任何調用的任何情況都將僅評估一次*無論評估過程遇到多少次,所以如果我通過'[op1,op2,op3]',並且,例如'op1'本身評估op2',然後評估'op3',我將看到後兩者的值將與用於計算'op1'的那些? – orome
如果這是正確的,問題的另一個關鍵部分是:我如何將這個值(在你的例子中是'loss_val')寫入日誌(例如,用'SummaryWriter')? – orome