【问题标题】:Unable to serve an mlflow model locally无法在本地提供 mlflow 模型
【发布时间】:2021-05-02 09:04:45
【问题描述】:

我创建了一个带有自定义 pyfunc 的 mlflow 模型。当我将输入发送到 Jupyter 笔记本中加载的模型时,它会显示结果。 但是,如果我试图将其提供给本地端口

!mlflow models serve -m Home/miniconda3/envs/mlruns/0/baa40963927a49258c845421e3175c06/artifacts/model -p 8001

我收到了这个错误

 Traceback (most recent call last):
  File "/home/subhojyoti/miniconda3/envs/python3-env/bin/mlflow", line 10, in <module>
    sys.exit(cli())
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/mlflow/models/cli.py", line 56, in serve
    install_mlflow=install_mlflow).serve(model_uri=model_uri, port=port,
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/mlflow/models/cli.py", line 163, in _get_flavor_backend
    append_to_uri_path(underlying_model_uri, "MLmodel"), output_path=tmp.path())
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/mlflow/tracking/artifact_utils.py", line 76, in _download_artifact_from_uri
    artifact_path=artifact_path, dst_path=output_path)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/mlflow/store/artifact/local_artifact_repo.py", line 67, in download_artifacts
    return super(LocalArtifactRepository, self).download_artifacts(artifact_path, dst_path)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/mlflow/store/artifact/artifact_repo.py", line 140, in download_artifacts
    return download_file(artifact_path)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/mlflow/store/artifact/artifact_repo.py", line 105, in download_file
    self._download_file(remote_file_path=fullpath, local_path=local_file_path)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/site-packages/mlflow/store/artifact/local_artifact_repo.py", line 95, in _download_file
    shutil.copyfile(remote_file_path, local_path)
  File "/home/subhojyoti/miniconda3/envs/python3-env/lib/python3.6/shutil.py", line 120, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: 'Home/miniconda3/envs/mlruns/0/baa40963927a49258c845421e3175c06/artifacts/model/MLmodel'

【问题讨论】:

    标签: deployment localhost mlflow


    【解决方案1】:

    从您的错误回溯中,无法找到模型工件。在您的代码中,您正在 Jupyter Notebook 中执行“mlflow”命令。我建议尝试以下方法:

    1. 检查您的模型工件是否在您使用的路径上 Home/miniconda3/envs/mlruns/0/baa40963927a49258c845421e3175c06/artifacts/model
    2. 尝试打开终端,然后cd /Home/miniconda3/envs 并执行mlflow models serve -m ./mlruns/0/baa40963927a49258c845421e3175c06/artifacts/model -p 8001
    3. MLFlow 提供了不同的解决方案来服务模型,您可以尝试注册您的模型并将其称为“模型:/{model_name}/{stage}”,如模型注册表docs 中所述

    【讨论】:

    • 嗨 Julio,这有效:!mlflow models serve -m ./mlruns/0/baa40963927a49258c845421e3175c06/artifacts/model -p 8001 端口应该自动打开吗?
    • 此命令将启动一个服务,监听 8081 端口上的 HTTP 请求。如果该端口没有被其他服务使用。您可以使用您喜欢的工具发出请求,例如 curl 或 Python 包“请求”。 MLFlow 文档有关于如何使用模型的示例,这里是使用 curl 的示例
    猜你喜欢
    • 2022-12-18
    • 2020-11-23
    • 2021-04-29
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多