【问题标题】:MLFlow Projects throw JSONDecode error when runMLFlow 项目在运行时抛出 JSONDecode 错误
【发布时间】:2019-09-30 11:40:10
【问题描述】:

我正在尝试使用 MLFlow CLI 运行 MLFlow 项目,但遵循本教程会导致错误。对于我尝试从 CLI 运行的任何项目,我都会收到以下错误

Traceback (most recent call last):
  File "/home/rbc/.local/bin/mlflow", line 11, in <module>
    sys.exit(cli())
  File "/home/rbc/.local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/rbc/.local/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/rbc/.local/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/rbc/.local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/rbc/.local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/rbc/.local/lib/python3.6/site-packages/mlflow/cli.py", line 139, in run
    run_id=run_id,
  File "/home/rbc/.local/lib/python3.6/site-packages/mlflow/projects/__init__.py", line 230, in run
    storage_dir=storage_dir, block=block, run_id=run_id)
  File "/home/rbc/.local/lib/python3.6/site-packages/mlflow/projects/__init__.py", line 88, in _run
    active_run = _create_run(uri, experiment_id, work_dir, entry_point)
  File "/home/rbc/.local/lib/python3.6/site-packages/mlflow/projects/__init__.py", line 579, in _create_run
    active_run = tracking.MlflowClient().create_run(experiment_id=experiment_id, tags=tags)
  File "/home/rbc/.local/lib/python3.6/site-packages/mlflow/tracking/client.py", line 101, in create_run
    source_version=source_version
  File "/home/rbc/.local/lib/python3.6/site-packages/mlflow/store/rest_store.py", line 156, in create_run
    response_proto = self._call_endpoint(CreateRun, req_body)
  File "/home/rbc/.local/lib/python3.6/site-packages/mlflow/store/rest_store.py", line 66, in _call_endpoint
    js_dict = json.loads(response.text)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

这是我用来启动运行的命令类型的示例,它直接来自教程

mlflow run https://github.com/mlflow/mlflow#examples/sklearn_elasticnet_wine -m databricks -c cluster-spec.json --experiment-id 72647065958042 -P alpha=2.0 -P l1_ratio=0.5

我已将错误追溯到涉及 MLFLow 在尝试开始运行时返回空但我可以使用我正在连接的 Databricks 环境成功运行 MLFlow 实验所以我不确定问题出在哪里,我我在 Ubuntu 18.04 上运行 MLFlow 0.9.1

【问题讨论】:

  • 不知道是不是因为你的python3.可以试试python2吗?
  • 这里有类似的问题,但错误信息略有不同。我知道这是身份验证问题,因为我的消息是这样说的:mlflow.exceptions.MlflowException: API 请求端点成功,但响应正文不是有效的 JSON 格式。响应正文:' Databricks - 标志在

标签: mlflow


【解决方案1】:

不确定您的问题是否已解决,但我是这样解决的:

  1. databricks-cli 可以毫无问题地使用以下配置:

    host = https://xxx.databricks.net/?o=<org_id>
    token=dapixxx
    
  2. 但 mlflow 对此并不满意,请将其更改为:

    host = https://xxx.databricks.net
    username = token
    password = dapixxx
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2021-07-11
    • 2020-05-08
    • 2022-01-23
    • 1970-01-01
    • 2012-05-03
    • 2013-06-04
    相关资源
    最近更新 更多