machine-learning - keras.fit() 重新初始化权重

标签 machine-learning tensorflow neural-network deep-learning keras

我有一个使用 model.fit() 训练的模型,并使用 model.save() 将其保存在物理文件中。现在,我有另一个数据集,我想使用保存的模型恢复训练。但是,我发现每次 fit() 调用都被视为一次新的训练。这意味着,它正在重新初始化之前生成并保存的权重。

当我使用 epochs 0 调用 fit() 时,我没有看到权重重置问题。但是,我绝对想尝试使用 epochs > 0。

我在这里遗漏了什么,还是 Keras 的问题。

Keras 版本:2.0.3

谢谢。

最佳答案

实际上 - 调用 fit 的情况如下:

  1. 权重不会重置 - 您的模型将具有与调用 fit 之前完全相同的权重 - 当然,直到优化算法不会在期间更改它们第一批。

  2. 模型状态未重置 - 这是您可能遇到的情况。模型隐藏状态(尤其是在 rnn 情况下)被重置。这是唯一改变的事情。如果您还想保留这些值(尤其是优化器状态在许多情况下至关重要) - 您可以使用 train_on_batch 方法,它根本不会影响模型的任何状态。

  3. 优化器状态不会重置 - 一次又一次调用 fit() 不会重置优化器状态。引用:https://github.com/keras-team/keras/issues/454#issuecomment-125644222

关于machine-learning - keras.fit() 重新初始化权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43455651/

相关文章:

opencv - 进行 Min-Max 归一化的正确方法

python - tensorflow - 我的输入数组中可以有元组条目吗?这样做会抛出 'Unable to get element from the feed as bytes.'

tensorflow - 如何使用Tensorflow张量设置Keras层的输入?

machine-learning - caffe 损失为 nan 或 0

python - 如何从 model.predict() 结果中获取单个值

machine-learning - 吉布斯抽样给出的概率很小

python - 使用 RandomForestClassifier 的 Scikit-learn MemoryError

ios - 将重新训练的数据转换为 .pb 格式的 ios 相机示例?

python - Keras:如何获得预测类的置信度?

python - 遍历线图