部署与MLOps#
本参考列出了 sktime
与部署和 MLOps 解决方案的集成。
目前,sktime
原生支持与 mlflow
的集成。
请参阅 examples/mlflow
获取笔记本教程。
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.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()
将返回 sktime 的predict()
方法的输出。
|
为 MLflow 模型创建默认的 pip 需求列表。 |
|
返回MLflow模型的默认Conda环境。 |
|
将 sktime 模型保存到本地文件系统上的路径。 |
|
将 sktime 模型记录为当前运行的 MLflow 工件。 |
|
从本地文件或运行中加载 sktime 模型。 |