在Keras中,可以使用以下方法加载模型:
仅加载权重
```python
from keras.models import load_model
loaded_model.load_weights("model.h5")
```
加载整个模型结构
```python
from keras.models import load_model
model = load_model('model.h5')
```
注意事项:
如果模型在训练时使用了自定义的loss函数或metrics,在加载模型时需要指定这些自定义对象,否则会报错。例如:
```python
model = load_model('model.h5', {'my_loss': my_loss})
```
示例代码:
```python
from keras.models import Sequential
from keras.layers import Dense
创建一个简单的模型
model = Sequential()
model.add(Dense(output_dim=1, input_dim=1))
model.compile(loss='mse', optimizer='sgd')
训练模型(示例数据)
X_train = [, , , ]
Y_train = [2, 4, 6, 8]
for step in range(301):
cost = model.train_on_batch(X_train, Y_train)
print(f"Step {step}, Cost: {cost}")
保存模型
model.save('my_model.h5')
加载模型
loaded_model = load_model('my_model.h5')
使用加载的模型进行预测
print(loaded_model.predict(X_test[0:2]))
```
通过上述步骤,你可以轻松地保存和加载Keras模型。