Python scikit学习:导出经过训练的classifi

2024-05-13 12:52:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是基于scikit learn的nolearn中的DBN(深度信任网络)。

我已经建立了一个可以很好地对数据进行分类的网络,现在我对导出模型进行部署很感兴趣,但我不知道如何进行(每次我想预测一些东西时,我都在训练DBN)。在matlab中,我只需导出权重矩阵并将其导入另一台计算机。

是否有人知道如何导出要导入的模型/权重矩阵,而无需再次训练整个模型?


Tags: 数据模型网络部署计算机分类矩阵scikit
1条回答
网友
1楼 · 发布于 2024-05-13 12:52:08

首先,安装joblib

您可以使用:

>>> import joblib
>>> joblib.dump(clf, 'my_model.pkl', compress=9)

然后,在预测服务器上:

>>> import joblib
>>> model_clone = joblib.load('my_model.pkl')

这基本上是一个Python pickle,对大型numpy数组进行了优化处理。它与常规pickle w.r.t.代码更改具有相同的限制:如果pickle对象的类结构更改,则可能无法再使用新版本的no learn或scikit learn解除对象的pickle。

如果您想要长期可靠地存储模型参数,您可能需要编写自己的IO层(例如,使用二进制格式序列化工具,如协议缓冲区或avro,或者使用效率低下但可移植的文本/json/xml表示,如PMML)。

相关问题 更多 >