将 keras.backend.function() 与 updates=None 不更新有状态模型的状态



我有一个有状态的LSTM模型。对于相同的数据,我需要自己调用几次自己的K.function(),以便测量预测的不确定性。我假设模型的状态实际上不会更新,因为这本来可以通过 Keras 通常会传递给K.function(), updates = parameter的更新来完成。这是一个正确的假设吗?

正确,将updates=Noneupdates=[]传递到K.function中将仅评估outputs。所以只要你的K.function()论点本身不做任何改变,你就没问题。

这可以在 tesorflow 后端源代码中看到:调用将只评估self.outputs,因为self.updates_op将是一个空的操作。

我没有与其他后端合作过,但我研究了cntk_backend.pytheano_backend.py来源:它们也是如此。

最新更新