要保存和加载Keras模型的权重,可以使用model.save_weights()
和model.load_weights()
方法。下面是一个示例代码:
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
# 创建模型
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='adam',
metrics=['accuracy'])
# 生成随机数据
x_train = np.random.random((1000, 100))
y_train = np.random.randint(10, size=(1000, 1))
# 将标签转换为分类的 one-hot 编码
y_train = np.eye(10)[y_train.reshape(-1)]
# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=32)
# 保存模型权重
model.save_weights('model_weights.h5')
# 加载模型权重
model.load_weights('model_weights.h5')
# 使用模型进行预测
x_test = np.random.random((10, 100))
predictions = model.predict(x_test)
在这个示例中,我们首先创建了一个简单的Keras模型,然后编译并训练它。训练完成后,我们使用model.save_weights()
方法保存了模型的权重到文件model_weights.h5
中。然后,我们使用model.load_weights()
方法加载了保存的权重。最后,我们使用加载的权重进行了预测。
上一篇:保持虚拟键盘的焦点