部署和 MLOps#
本参考列出了 sktime
与部署和 MLOps 解决方案的集成。
目前,sktime
原生支持与 mlflow
的集成。
请参阅 examples/mlflow
查看 notebook 教程。
MLflow#
mlflow_sktime
模块为 sktime 预测器提供了 MLflow API。
此模块以以下格式导出 sktime 模型
- sktime (原生) 格式
这是可以加载回 sktime 的主要风格,它内部依赖 pickle 来序列化模型。
- mlflow.pyfunc
用于基于通用 pyfunc 的部署工具和批量推理。
模型的
pyfunc
风格支持 sktime 预测方法predict
、predict_interval
、predict_proba
、predict_quantiles
、predict_var
。利用加载为
pyfunc
类型的 sktime 模型进行预测的接口需要将外生回归变量作为 Pandas DataFrame 传递给pyfunc.predict()
方法(如果未使用外生回归变量,则必须传递一个空的 DataFrame)。传递给预测方法的配置(预测方法和参数值)由一个字典定义,该字典将保存为拟合的 sktime 模型实例的属性。如果未定义预测配置,pyfunc.predict()
将返回 sktimepredict
方法的输出。请注意,对于pyfunc
风格,预测范围fh
必须传递给fit
方法。pyfunc
风格的预测方法和参数值可以通过两种方式定义:如果将参数值传递给pyfunc.predict()
,则为Dict[str, dict]
格式,例如{"predict_method": {"predict": {}, "predict_interval": {"coverage": [0.1, 0.9]}}}
。如果使用预测方法的默认参数,则为Dict[str, list]
格式,例如{"predict_method": ["predict", "predict_interval"]}
(注意:当包含predict_proba
方法时,必须遵循前一种方法,因为必须由用户提供quantiles
参数)。如果未定义预测配置,pyfunc.predict()
将返回 sktimepredict()
方法的输出。
|
创建 MLflow 模型默认 pip 依赖列表。 |
|
返回 MLflow 模型默认 Conda 环境。 |
|
将 sktime 模型保存到本地文件系统上的路径。 |
|
将 sktime 模型记录为当前运行的 MLflow artifact。 |
|
从本地文件或运行加载 sktime 模型。 |