📜  ML – 在 Keras 中保存深度学习模型(1)

📅  最后修改于: 2023-12-03 15:17:40.057000             🧑  作者: Mango

ML - 在 Keras 中保存深度学习模型

本文将介绍如何在 Keras 中保存深度学习模型。我们将了解如何使用 Keras 的 Model.save()model_from_json()model_from_yaml() 方法来保存和加载模型。

保存模型

在 Keras 中,我们可以使用 Model.save() 方法将模型保存到磁盘。Model.save() 方法接受包含模型结构、权重和优化器状态的单个文件路径。

from keras.models import Sequential
from keras.layers import Dense

# 创建简单的模型
model = Sequential()
model.add(Dense(10, input_dim=8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# 训练模型
model.fit(X_train, y_train, epochs=50, batch_size=32)

# 保存模型
model.save('my_model.h5')

在上面的代码中,我们使用 Model.save() 方法将模型保存到名为 my_model.h5 的文件中。

加载模型

要加载模型,我们可以使用 Keras 的 model_from_json()model_from_yaml() 函数。这两个函数都接受包含模型结构的 JSON 或 YAML 文件作为参数,并返回 Keras 模型对象。

from keras.models import model_from_json

# 加载模型结构
with open('my_model.json', 'r') as f:
    model_json = f.read()

# 加载模型
model = model_from_json(model_json)

# 加载模型权重
model.load_weights('my_model_weights.h5')

在上面的代码中,我们使用 model_from_json() 函数从 JSON 文件中加载模型结构,然后使用 load_weights() 方法加载模型权重。

请注意,我们还可以使用 model_from_yaml() 函数从 YAML 文件中加载模型结构。

结论

在本文中,我们学习了如何在 Keras 中保存和加载深度学习模型。我们学习了如何使用 Model.save()model_from_json()model_from_yaml() 方法来处理模型。现在你可以将训练好的模型保存到磁盘并在需要时加载它们。