如何在Python中保存和加载模型?
时间: 2024-11-15 13:31:39 浏览: 24
在Python中,保存和加载模型是非常常见的任务,特别是在训练过程中或需要复用模型的时候。以下是两种常见的方式:
1. **使用pickle模块**:`pickle`模块可以序列化Python对象,包括模型对象。例如,如果你有一个名为`model`的模型,可以这样做:
```python
import pickle
with open('model.pkl', 'wb') as file:
pickle.dump(model, file)
```
要加载模型,只需反向操作:
```python
with open('model.pkl', 'rb') as file:
loaded_model = pickle.load(file)
```
2. **使用joblib库(scikit-learn推荐)**:`joblib`是scikit-learn的一部分,专为大型数据和模型设计,它提供了更高效且内存友好的模型保存和加载功能:
```python
from joblib import dump, load
dump(model, 'model.joblib')
loaded_model = load('model.joblib')
```
3. **使用TensorFlow/Keras的save()和load()函数**:
对于TensorFlow或Keras模型,你可以使用`tf.keras.models.save_model()` 和 `tf.keras.models.load_model()` 来保存和加载模型及其权重:
```python
model.save('my_model.h5')
loaded_model = tf.keras.models.load_model('my_model.h5')
```
阅读全文