如何在Keras中保存和加载已经训练好的Model?
时间: 2024-11-25 18:22:21 浏览: 36
在Keras中,保存和加载已经训练好的模型非常方便,主要使用`model.save()` 和 `model.load_model()` 方法。下面是具体的步骤:
**保存模型**:
1. 首先,你需要确保你的模型已经经过编译,因为未经编译的模型无法保存。
```python
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
```
2. 然后,使用`model.save()`方法,指定你希望保存文件的位置和文件名,通常会加上`.h5`或`.json`扩展名:
```python
model.save('my_model.h5') # 保存为HDF5格式
```
**加载模型**:
1. 如果你想加载同一个格式的模型,可以这样做:
```python
loaded_model = load_model('my_model.h5')
```
2. 对于模型结构的持久化(如JSON格式),你可以单独保存模型结构:
```python
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
```
而后再从JSON文件加载:
```python
loaded_model = models.model_from_json(open('model.json').read())
loaded_model.load_weights("my_model.h5") # 加载权重
```
阅读全文