如何加载使用tf.keras.models.save_model保存的已训练模型权重?

3

我没有使用任何检查点来训练神经网络,最后使用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)加载模型,但因为我正在使用自定义模型(似乎我创建了一个继承自tf.keras.Model的类),所以出现了ValueError。因此,我尝试实例化一个新模型,然后只是加载权重,方法如下:

model = myModel(someArgs)
model.load_weights(dirpath/variables)

然而,我收到了以下错误信息:

OSError:无法打开文件(无法打开文件:名称='dirpath/variables',errno=13,错误消息='权限被拒绝',标志=0,o_flags=0)

那么我该如何将权重加载到模型中?文件已经存在,但我不知道如何将它们放回到我的模型中。
1个回答

6

理解了,我使用了错误的路径。我需要执行 model.load_weights(dirpath/variables/variables)。有两个名为variables的文件,有不同的扩展名(.data-00000-of-00001.index),那就是你要调用的名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接