通过指定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