如何在其他项目中加载以文件夹形式保存的Keras模型?
模型保存为文件夹后跨项目加载解决方案
直接加载现有模型文件夹
不管你保存的是文件夹还是单个.h5文件,都能用统一的代码加载,直接把保存的路径传给keras.models.load_model()就行:from tensorflow import keras # 这里填你保存的文件夹路径,哪怕你命名时加了.h5后缀,实际是文件夹就传这个路径 loaded_model = keras.models.load_model('model_keras.h5')加载完成后就能正常用模型做预测、继续训练等操作。
为什么生成的是文件夹而非.h5文件
新版本的TensorFlow/Keras里,model.save()默认用SavedModel格式(文件夹形式),这种格式支持更多模型特性,比如自定义层、TensorFlow专属操作,兼容性更强。就算你指定了.h5后缀,如果模型里有HDF5格式不支持的结构,也会自动切换成SavedModel格式保存。强制保存为单个.h5文件(可选)
要是你确实需要单个.h5文件,而且模型结构能兼容HDF5格式,保存时加个save_format='h5'参数就行:# 强制保存为HDF5格式的单个文件 model.save('model_keras.h5', save_format='h5')注意:如果模型有自定义层、自定义损失函数这类HDF5不支持的内容,这么做会报错,这种情况建议还是用SavedModel格式。
内容的提问来源于stack exchange,提问作者keith
相关产品推荐
相关产品推荐

