使用 load_weights() 在预训练权重上训练 keras 模型

时间:2021-04-14 09:21:15

标签: tensorflow keras databricks

我在 Databricks 环境中使用自定义 keras 模型。 对于自定义 keras 模型,model.save(model.h5) 不起作用,因为自定义模型不可序列化。相反,建议使用 model.save_weights(path) 作为替代。

model.save_weights(pathDirectory) 有效。这会在 pathDirectory

中产生 3 个文件 checkpoint,.data-00000-of-00001,.index

对于加载重量,以下机制工作正常。

model = Model()

model.load_weights(path)

但我想用我刚保存的预训练权重训练我的模型。就像我保存了模型权重,然后在这些保存的权重上继续训练。

因此,当我加载模型权重并应用训练循环时,出现此错误,TypeError: 'CheckpointLoadStatus' object is not callable

1 个答案:

答案 0 :(得分:0)

经过大量研究,我找到了一种解决方法,

我们也可以使用 model.save("model.hpy5") 并读取保存在数据块中的模型。

model.h5 不适用于自定义模型,但适用于标准模型。