【问题标题】:How to load a trained model's weights, which were saved with tf.keras.models.save_model?如何加载使用 tf.keras.models.save_model 保存的训练模型的权重?
【发布时间】:2020-08-01 08:16:10
【问题描述】:

我训练了一个神经网络,没有任何检查点,最后我写了tf.keras.models.save_model(model, dirpath) 来保存整个模型,它创建了以下文件:

savedmodel.pb 
assets/
variables/variables.index
variables/variables.data-00000-of-00001

我尝试使用new_model = tf.keras.models.load_model(dirpath) 加载模型,但它给出了ValueError,因为我使用的是自定义模型(似乎,我创建了一个继承自tf.keras.Model 的类)。因此,我尝试实例化一个新模型,然后使用

加载权重
model = myModel(someArgs)
model.load_weights(dirpath/variables)

但是,我收到以下错误消息:

OSError: 无法打开文件(无法打开文件:name = 'dirpath/variables', errno = 13, error message = 'Permission denied', flags = 0, o_flags = 0)

那么如何将权重加载到模型上?文件在那里,我只是不知道如何将它们放回我的模型中。

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    想通了,我使用了错误的路径。我需要做model.load_weights(dirpath/variables/variables)。吃了两个名为variables的文件,扩展名不同(.data-00000-of-00001.index),这就是你要调用的名称。

    【讨论】:

      猜你喜欢
      • 2020-08-06
      • 2021-03-12
      • 2020-11-05
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 2018-03-08
      相关资源
      最近更新 更多