如本example中所述,我在docker环境中使用mlflow,并从mlflow run .开始运行。

我得到这样的输出

2019/07/17 16:08:16 INFO mlflow.projects: === Building docker image mlflow-myproject-ab8e0e4 ===
2019/07/17 16:08:18 INFO mlflow.projects: === Created directory /var/folders/93/xt2vz36s7jd1fh9bkhkk9sgc0000gn/T/tmp1lxyqqw9 for downloading remote URIs passed to arguments of type 'path' ===
2019/07/17 16:08:18 INFO mlflow.projects: === Running command 'docker run
--rm -v /Users/foo/bar/mlruns:/mlflow/tmp/mlruns -e
MLFLOW_RUN_ID=ef21de61d8a6436b97b643e5cee64ae1 -e MLFLOW_TRACKING_URI=file:///mlflow/tmp/mlruns -e MLFLOW_EXPERIMENT_ID=0 mlflow-myproject-ab8e0e4 python train.py' in run with ID 'ef21de61d8a6436b97b643e5cee64ae1' ===

我想将名为my_docker_volume的docker卷挂载到容器

路径/data。因此,我想代替上面显示的docker run 使用

docker run --rm --mount source=my_docker_volume,target=/data -v /Users/foo/bar/mlruns:/mlflow/tmp/mlruns -e MLFLOW_RUN_ID=ef21de61d8a6436b97b643e5cee64ae1 -e MLFLOW_TRACKING_URI=file:///mlflow/tmp/mlruns -e MLFLOW_EXPERIMENT_ID=0 mlflow-myproject-ab8e0e4 python train.py

我看到原则上我可以在没有安装卷的情况下运行一次,然后
复制docker run ...并添加--mount source=my_volume,target=/data,但是
我宁愿使用类似

mlflow run --mount source=my_docker_volume,target=/data .

但这显然不起作用,因为--mount不是用于mlflow run
那么挂载docker卷的推荐方式是什么?

最佳答案

mlflow问题跟踪器上也出现了类似的问题,请参阅“Access large data from within a Docker environment”。摘录说:



看起来这也是其他人也会从中受益的功能。最好的做法是为安装提供支持,或者跟踪问题,直到其他人实现为止。

为什么首先需要挂载/data文件夹?还有另一个问题,PR包含与在主机上的自定义位置中存储 Artifact 相关的修复程序,这可能是您要找的东西吗?

关于docker - 我应该如何在mlflow项目中挂载docker卷?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57078147/

10-16 11:19
查看更多