在tensorflow 2中加载ModelCheckpoint

时间:2019-10-11 07:14:51

标签: python-3.x tensorflow keras tensorflow2.0 tf.keras

在使用tensorflow 1的keras中,我可以+------+-----+----+ | Name|Score| v2| +------+-----+----+ |name_1|11.23|10.0| |name_2|14.57|15.0| |name_3| 2.21| 0.0| |name_4| 8.76|10.0| |name_5|18.71|20.0| +------+-----+----+ ,保存的文件称为open,然后我可以调用ModelCheckpoint(filepath)来加载保存的模型。

现在,张量流2中的等效项filepath创建一个名为model = load_model(filepath)的目录,当我按照文档here加载已保存的模型时,我必须创建一个空模型,然后调用{ {1}}。 这是我的回调方法:

ModelCheckpoint

在另一个脚本中执行filepath时出现以下错误:

model.load_weights(filepath)

我想获得一些帮助,为什么我会收到针对我创建的模型的权限拒绝错误。

2 个答案:

答案 0 :(得分:1)

在保存模型权重时,尝试在包含.hdf5扩展名的同时进行检查点设置。

filepath = "filepath/model.hdf5"
checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=filepath, mode='max', monitor='val_accuracy', verbose=2, save_best_only=True)

答案 1 :(得分:0)

如果您花了很多时间训练模型并且不想再做只是为了保存为 HDF5 格式,该怎么办?

你可以做什么:

  1. 从代码 model = build_super_artificial_intelligence_deep_learning_model()
  2. 创建您的模型
  3. 使用 tf.keras.models.save_model(model, "/path/to/full_model") 保存它
  4. variables.* 中的 /path/to/full_model/variables 文件替换为检查点中具有相应扩展名的文件。将检查点中的文件重命名为 variables.*
  5. 使用 trained_model = tf.keras.models.load_model("/path/to/full_model") 加载模型。

(使用 TF2.5 测试)