2
我有一個有狀態的LSTM模型。我需要自己調用我自己的K.function()
以獲得相同的數據,以便我可以測量預測的不確定性。我認爲模型的狀態實際上不會更新,因爲Keras通常會傳遞給K.function(), updates = parameter
。這是一個正確的假設嗎?具有更新= None的keras.backend.function()是否不更新有狀態模型的狀態?
我有一個有狀態的LSTM模型。我需要自己調用我自己的K.function()
以獲得相同的數據,以便我可以測量預測的不確定性。我認爲模型的狀態實際上不會更新,因爲Keras通常會傳遞給K.function(), updates = parameter
。這是一個正確的假設嗎?具有更新= None的keras.backend.function()是否不更新有狀態模型的狀態?
正確的,通過updates=None
或updates=[]
到K.function
將只評估outputs
。所以只要你的論點本身沒有做任何改變,你就沒問題。
這可以在tesorflow backend source code可以看出: 通話將評估只是self.outputs
,因爲self.updates_op
將是一個空運算。
我沒有與其他後端工作,但我已經看着cntk_backend.py
和theano_backend.py
來源:他們也是這樣做的。