gpt4 book ai didi

python - Keras:如何重置优化器状态?

转载 作者:行者123 更新时间:2023-12-01 03:06:29 25 4
gpt4 key购买 nike

如何在 keras 中重置优化器状态?

查看 Optimizer 类我看不到这样的方法:
https://github.com/keras-team/keras/blob/613aeff37a721450d94906df1a3f3cc51e2299d4/keras/optimizers.py#L60

还有实际上是什么self.updatesself.weights ?

最佳答案

没有一种“简单”的方法来重置“状态”,但您总是可以简单地使用新的优化器重新编译您的模型(模型的权重被保留):

newOptimizer = Adadelta()
model.compile(optimizer=newOptimizer)

您也可以使用方法 set_weights(weightsListInNumpy) (不推荐),在基类 Optimizer 中,但这会相当麻烦,因为您需要知道所有初始值和形状,有时可能不是简单的零。

现在,属性(property) self.weights没有做太多事情,但是保存和加载优化器的函数会保存和加载这个属性。这是张量列表,不应直接更改。最多使用 K.set_value(...)在列表的每个条目中。您可以看到 weights _serialize_model method 中保存优化器.
self.updates是一些更复杂的东西来理解。它存储将随模型在训练中处理的每个批次更新的变量。但它是一个 象征性 图变量。
self.updates ,正如您在代码中看到的,总是附加一个 K.update(var, value)K.update_add(var, value) .这是告诉图形应该在每次迭代中更新这些值的正确方法。

通常,更新的变量是 iterations , params (模型的权重), moments , accumulators , 等等。

关于python - Keras:如何重置优化器状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56806419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com