- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个自定义的 python 模型,它基本上设置了 scikit-learn 估计器的几个扰动。我确实成功地使用 mlflow run project_directory
运行了该项目CLI,使用 save_model()
保存模型陈述。它出现在仪表板上,带有 mlflow ui
.我什至可以在我的 main.py
中加载保存的模型脚本并预测 pandas.DataFrame 没有任何问题。
当我尝试 mlflow models serve -m project/models/run_id
时,我的问题出现了的 mlflow models predict -m project/models/run_id -i data.json
.我收到以下错误:ModuleNotFoundError: No module named 'multi_model'
在 MLflow 文档中,没有提供自定义模型的示例,因此我无法弄清楚如何解决此依赖性问题。这是我的项目树:
project/
├── MLproject
├── __init__.py
├── conda.yaml
├── loader.py
├── main.py
├── models
│ └── 0ef267b0c9784a118290fa1ff579adbe
│ ├── MLmodel
│ ├── conda.yaml
│ └── python_model.pkl
├── multi_model.py
multi_model.py
:
import numpy as np
from mlflow.pyfunc import PythonModel
from sklearn.base import clone
class MultiModel(PythonModel):
def __init__(self, estimator=None, n=10):
self.n = n
self.estimator = estimator
def fit(self, X, y=None):
self.estimators = []
for i in range(self.n):
e = clone(self.estimator)
e.set_params(random_state=i)
X_bootstrap = X.sample(frac=1, replace=True, random_state=i)
y_bootstrap = y.sample(frac=1, replace=True, random_state=i)
e.fit(X_bootstrap, y_bootstrap)
self.estimators.append(e)
return self
def predict(self, context, X):
return np.stack([
np.maximum(0, self.estimators[i].predict(X))
for i in range(self.n)], axis=1
)
main.py
:
import os
import click
from sklearn.ensemble import RandomForestRegressor
import mlflow.pyfunc
import multi_model
@click(...) # define the click options according to MLproject file
def run(next_week, window_size, nfold):
train = loader.load(start_week, current_week)
x_train, y_train = train.drop(columns=['target']), train['target']
model = multi_model.MultiModel(RandomForestRegressor())
with mlflow.start_run() as run:
model.fit(x_train, y_train)
model_path = os.path.join('models', run.info.run_id)
mlflow.pyfunc.save_model(
path=model_path,
python_model=model,
)
if __name__ == '__main__':
run()
最佳答案
问题解决:在main.py
,只需更新 save_model()
命令:
mlflow.pyfunc.save_model(
path=model_path,
python_model=model,
code_path=['multi_model.py'],
conda_env={
'channels': ['defaults', 'conda-forge'],
'dependencies': [
'mlflow=1.2.0',
'numpy=1.16.5',
'python=3.6.9',
'scikit-learn=0.21.3',
'cloudpickle==1.2.2'
],
'name': 'mlflow-env'
}
)
关于mlflow - 自定义python模型: succeed to load but fail to predict/serve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199221/
我想在不使用 mlflow ui 的情况下向体验笔记添加文本 mlflow UI notes example 我在文档中找不到该方法 https://mlflow.org/docs/latest/tr
我目前正在跟踪我的 MLflow 运行到本地文件路径 URI。我还想设置一个远程跟踪服务器与我的合作者共享。我想避免的一件事是将所有内容都记录到服务器,因为它可能很快就会被失败的运行淹没。 理想情况下
MLFlow Tracking 非常适合监控实验,但我想知道 MLFlow 或其他开源平台上是否有解决方案可以集成来监控数据和模型漂移。 有一个post来自 Databricks 展示了如何使用 De
有没有办法在 MLflow 的实验级别管理权限?我们想要一个共享服务器,但希望能够在实验级别管理权限 - 例如管理员可以查看所有实验,user_group1 可以管理实验 1 - 也许不同的组可以查看
我还没有找到在第一次 start_run 之后为该运行设置运行名称的方法(我们可以在那里传递一个名称)。 我知道我们可以使用标签,但那不是一回事。我想添加一个与运行相关的名称,但通常我们只有在运行评估
我发现删除了 run仅从 active 更改状态至 deleted ,因为如果通过 deleted 搜索,运行仍然在 UI 中可见。 . 是否可以删除 run从UI节省空间? 删除运行时,是否也删除了
我正在使用 mlflow REST API 编写一个库。我正在寻找用于记录不同 mlflow 模型的 mlflow REST api。 在文档中,https://www.mlflow.org/docs
我正在尝试在远程计算机上将 MLFlow 跟踪服务器设置为 systemd 服务。我有一个运行的 sftp 服务器并创建了一个 SSH key 对。 除了工件日志记录之外,一切似乎都运行良好。 MLF
我尝试以这种方式读取指标: data, info = mlflow.get_run(run_id) print(data[1].metrics) # example of output: {'l
我可以使用以下命令创建 ml 模型服务器 mlflow models serve -m file:///C:/Users/SawarkarFamily/Desktop/mlflow-master/ex
我正在尝试在本地网络中的另一台机器上运行 MLFlow,我想寻求一些帮助,因为我现在不知道该怎么做。 我有一个运行在服务器上的 mlflow 服务器。 mlflow 服务器在服务器上的我的用户下运行,
我正在尝试使用 MLFlow CLI 运行 MLFlow 项目,但按照教程进行操作会导致错误。对于我尝试从 CLI 运行的任何项目,我都会收到以下错误 Traceback (most recent c
我正在尝试在本地运行 mlflow 服务器。 为此,我正在使用: mlflow server --backend-store-uri="sqlite:///C:\\path\\to\\project_
我正在尝试将基于 tensorflow (keras) 的模型实现到 mlflow 中,同时了解它的工作原理以及它是否满足我们的需求。我正在尝试从 tensorflow 网站实现 Fashion MN
我已使用 MLProject 将我的模型存储在 Github 中,以便其他人可以以各种变体运行它。现在我想将运行创建的模型记录为工件,以便用户可以使用 MLModel 加载它们。由于我的模型是定制的,
我有一个流读取准备将特征数据发布到一个已经注册的模型中。所有代码都在 Python 中。以下模型和元数据在常规笔记本中的流之外运行。在流中是另一回事。主要问题是从流中写入的数据(写入目标表)具有 NU
MLflow 运行完成后,外部脚本可以使用 python mlflow 客户端和 mlflow.get_run(run_id) 方法访问其参数和指标,但是 get_run 返回的 Run 对象似乎是只
我希望通过在 keras 模型的训练/测试阶段的每个时期之后存储相应指标的每个值,将损失和准确性等指标视为图表。 PS:我知道我们可以通过使用 mlflow for keras 的自动日志功能来做到这
我想从不同的文件夹运行 mlflow ui。默认情况下,它会在我的用户文件夹中创建一个名为“mlruns”的文件夹。如果创建在使用特定工作目录的 Jupiter-Notebook 中运行,则会在该目录
当我将我的整个模型和参数记录到 mlflow 中时,我认为将其置于用户名和密码下进行保护是个好主意。 我使用以下代码运行mlflow服务器 mlflow server --host 0.0.0.0 -
我是一名优秀的程序员,十分优秀!