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