【问题标题】:Loading ModelCheckpoint in tensorflow 2在 tensorflow 2 中加载 ModelCheckpoint
【发布时间】:2019-10-11 07:14:51
【问题描述】:

在使用 tensorflow 1 的 keras 中,我可以 ModelCheckpoint(filepath) 保存的文件名为 filepath,然后我可以调用 model = load_model(filepath) 来加载保存的模型。

现在 tensorflow 2 中的等效项 ModelCheckpoint 创建了一个名为 filepath 的目录,当我按照文档 here 加载保存的模型时,我必须创建一个空模型然后调用 model.load_weights(filepath)。 这是我的回调和适合:


filepath = "filepath"
checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=filepath, mode='max', monitor='val_accuracy', verbose=2, save_best_only=True)
callbacks_list = [checkpoint]
model.fit(train_dataset, validation_data=y_test_dataset, validation_steps=BATCH_SIZE, callbacks=callbacks_list, epochs=5000, verbose=2, steps_per_epoch=(X_train_deleted_nans.shape[0]//BATCH_SIZE))

在另一个脚本中执行model.load_weights(filepath) 我收到以下错误:

OSError: Unable to open file (unable to open file: name = 'filepath', errno = 13, error message = 'Permission denied', flags = 0, o_flags = 0)

我想就我创建的模型为什么会出现权限被拒绝错误获得一些帮助。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • tensorflow.python.framework.errors_impl.NotFoundError: Failed to create a directory: ./filepath.ckpt\variables; No such file or directory
    • @Race 首先使用.hdf5 扩展名保存模型权重filepath = "filepath/model.hdf5" checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=filepath, mode='max', monitor='val_accuracy', verbose=2, save_best_only=True) 我意识到保存权重时缺少.hdf5 扩展名。让我在答案中更新它
    【解决方案2】:

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

    你可以做什么:

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

    (用TF2.5测试)

    【讨论】:

      猜你喜欢
      • 2020-05-27
      • 2022-10-14
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 2020-05-06
      • 2023-02-01
      • 2020-06-02
      • 2017-04-10
      相关资源
      最近更新 更多