我有一个有状态的LSTM模型。对于相同的数据,我需要自己调用几次自己的K.function()
,以便测量预测的不确定性。我假设模型的状态实际上不会更新,因为这本来可以通过 Keras 通常会传递给K.function(), updates = parameter
的更新来完成。这是一个正确的假设吗?
正确,将updates=None
或updates=[]
传递到K.function
中将仅评估outputs
。所以只要你的K.function()
论点本身不做任何改变,你就没问题。
这可以在 tesorflow 后端源代码中看到:调用将只评估self.outputs
,因为self.updates_op
将是一个空的操作。
我没有与其他后端合作过,但我研究了cntk_backend.py
和theano_backend.py
来源:它们也是如此。