python保存和调用模型

该博客介绍了如何使用Python的Scikit-Learn库进行模型的保存和加载。首先,通过`os`模块创建了一个名为`testModel`的文件夹,接着利用`joblib.dump()`将逻辑回归模型(LR)保存到该目录下。之后,使用`joblib.load()`成功读取模型,并对测试数据进行预测,展示了模型的实用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.创建文件目录,保存模型
import os
from sklearn.externals import joblib
 
# 创建文件目录
dirs = 'testModel'
if not os.path.exists(dirs):
    os.makedirs(dirs)
    
# 保存模型
joblib.dump(LR, dirs+'/LR.pkl')
3.读取模型
# 读取模型
LR = joblib.load(dirs+'/LR.pkl')
 
test = np.array([[3,4,5],[8,7,6]])
print('预测结果:\n', LR.predict(test))
    

### 加载调用机器学习或深度学习模型Python 中加载调用机器学习或深度学习模型是一个常见的需求,通常可以通过多种方式实现。以下是几种主要方法及其适用场景: #### 使用 `pickle` 库加载模型 `pickle` 是一种通用的序列化工具,适用于大多数类型的对象保存加载。通过它,可以轻松地将训练好的模型保存到磁盘并重新加载。 ```python import pickle # 加载已保存模型 with open('model.pkl', 'rb') as file: loaded_model = pickle.load(file) # 对新数据进行预测 predictions = loaded_model.predict(new_data) ``` 这种方法适合小型至中型模型,但对于较大的模型可能会遇到性能瓶颈[^1]。 #### 使用 `joblib` 加载模型 对于较大规模的数据科学项目,推荐使用 `joblib` 来替代 `pickle`。这是因为 `joblib` 更高效地处理 NumPy 数组其他大数据结构。 ```python from joblib import load # 加载已保存模型 loaded_model = load('model.joblib') # 进行预测 predictions = loaded_model.predict(new_data) ``` 此方法特别适合 scikit-learn 的模型或其他基于 NumPy 构建的大规模模型[^2]。 #### 深度学习框架中的模型加载 如果涉及的是深度学习模型,则需依赖具体框架提供的功能。例如,在 TensorFlow/Keras 或 PyTorch 中分别有不同的机制用于保存恢复模型状态。 ##### Keras/TensorFlow 模型加载 Keras 提供了 HDF5 文件格式支持,专门设计用来存储神经网络权重及相关元信息。 ```python from tensorflow.keras.models import load_model # 加载模型 loaded_model = load_model('my_model.h5') # 预测新样本 predictions = loaded_model.predict(new_data) ``` 注意:当采用自定义层或者函数时,可能需要额外指定参数以确保兼容性[^3]。 ##### PyTorch 模型加载 相比之下,PyTorch 则倾向于直接保存整个模块的状态字典而非完整的类实例。 ```python import torch # 定义相同的架构 model = TheModelClass(*args, **kwargs) # 将先前保存的 state_dict 转移到当前模型 model.load_state_dict(torch.load('model.pth')) # 设置为评估模式 model.eval() # 执行推理任务 outputs = model(inputs) ``` 以上展示了不同技术栈下如何有效地完成模型部署前的关键环节——即加载预训练成果并投入实际应用之中。 ### 总结 无论是传统意义上的统计学算法还是现代复杂的卷积神经网路(CNN),只要遵循相应文档指南即可顺利完成上述流程。最终目标都是为了能够在脱离原始环境之后仍然能够利用这些宝贵的知识资产做出精准判断!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值