以下是使用Keras保存和加载模型权重的示例代码:
保存模型权重为JSON文件:
from keras.models import Sequential
from keras.layers import Dense
from keras.models import model_from_json
# 创建模型
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=100))
model.add(Dense(64, activation='relu'))
model.add(Dense(10, activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5, batch_size=32)
# 保存模型权重为JSON文件
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
model.save_weights("model.h5")
加载JSON文件并重新生成模型:
# 从JSON文件加载模型
with open('model.json', 'r') as json_file:
loaded_model_json = json_file.read()
loaded_model = model_from_json(loaded_model_json)
# 加载模型权重
loaded_model.load_weights("model.h5")
# 编译模型
loaded_model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
现在你可以使用loaded_model
进行预测或进行其他操作。