MLflow 1.2.0 定义MLproject文件

问题描述 投票:0回答:1

尝试通过指定 MLproject 和与 MLproject 文件位于不同位置的代码来运行 mlflow。

我有以下目录结构:

/root/mflow_test
.
├── conda
│   ├── conda.yaml
│   └── MLproject
├── docker
│   ├── Dockerfile
│   └── MLproject
├── README.md
├── requirements.txt
└── trainer
    ├── __init__.py
    ├── task.py
    └── utils.py

当我逃离时:

/root/

mlflow run mlflow_test/docker

我得到:

/root/miniconda3/bin/python: Error while finding module specification for 'trainer.task' (ImportError: No module named 'trainer')

因为我的

MLproject
文件找不到Python代码。 我将 MLproject 移至
mflow_test
,效果很好。

这是我的 MLproject 入口点:

name: mlflow_sample
docker_env:
  image: mlflow-docker-sample
entry_points:
  main:
    parameters:
      job_dir:
        type: string
        default: '/tmp/'
    command: |
        python -m trainer.task --job-dir {job_dir}

如何运行

mlflow run
并传递 MLproject 并要求它在不同的文件夹中查找?

我尝试过:

"cd .. && python -m trainer.task --job-dir {job_dir}" 

我得到:

/entrypoint.sh: line 5: exec: cd: not found

Dockerfile

# docker build -t mlflow-gcp-example -f Dockerfile .
FROM gcr.io/deeplearning-platform-release/tf-cpu 
RUN git clone github.com/GoogleCloudPlatform/ml-on-gcp.git 
WORKDIR ml-on-gcp/tutorials/tensorflow/mlflow_gcp 
RUN pip install -r requirements.txt 
docker databricks mlflow
1个回答
0
投票

不确定这是否有帮助/正确,但我注意到在你的命令中

python -m trainer.task --job-dir {job_dir}
你错过了提及.py扩展名和trainer.task的正斜杠,如下

训练师任务 培训师/task.py

© www.soinside.com 2019 - 2024. All rights reserved.