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
来源:他们也是这样做的。