首页 > 解决方案 > MLflow 1.2.0 定义 MLproject 文件

问题描述

尝试通过将位于不同位置的 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 

标签: dockerdatabricksmlflow

解决方案


推荐阅读