尝试通过指定 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
不确定这是否有帮助/正确,但我注意到在你的命令中
python -m trainer.task --job-dir {job_dir}
你错过了提及.py扩展名和trainer.task的正斜杠,如下
训练师任务
培训师/task.py