在Docker容器上实现Dask调度程序和工作程序



我需要运行一个scikit-learn RandomForestClassifier,同时运行多个进程。为此,我正在研究实现一个具有N个工人的Dask调度器,其中调度器和每个工人在一个单独的Docker容器中运行。

客户端应用程序也在一个单独的Docker容器中运行,它将首先连接到调度器,并使用with joblib.parallel_backend('dask'):启动scikit学习过程。

用于训练机器学习模型的数据存储在客户端应用程序Docker容器中的镶木地板中。让员工访问数据的最佳做法是什么?数据是否应该位于共享目录中的其他位置?

由于Apach Parquet是基于文件系统的,它完全取决于您正在构建的体系结构,这意味着您的项目是在单个服务器上运行,还是分布在多个服务器上。

如果您在单个服务器上运行,那么容器之间的docker volume的简单共享,甚至通过本地文件存储的公共装载都可以完成这项工作。

另一方面,如果您正试图在多个服务器上设置分布式培训,那么您将需要某种类型的文件服务器来处理这些文件。

共享文件的一种简单方法是通过NFS服务器,其中一个常用的映像是erichough/nfs服务器。您将需要使用此容器来export存储文件的本地文件夹,并需要mount其余服务器上的fs

最新更新