在Docker中处理庞大的数据集

时间:2020-09-28 11:37:03

标签: python docker dataset

我目前正在使用一台远程计算机来训练我的图像分割模型(用python编写)。我有一个重要的数据集(大约40GB),我想在该数据集上训练模型。 我必须使用Docker在远程计算机上进行培训。

我的问题

没有错误。 但是,每次创建docker映像时,我都会遇到磁盘内存问题,所有数据都会保存到与数据集大小重复的映像中。

我不知道我是否正确使用了Docker,是否有更好的方法来处理Docker的数据集(也许还有附加卷)。

我在做什么

这是我的DockerFile:

FROM tensorflow/tensorflow:2.1.0-gpu-py3

RUN mkdir /AI_PLATFORM
WORKDIR /AI_PLATFORM

COPY ./install.sh ./install.sh
COPY ./requirements.txt ./requirements.txt
COPY ./computer_vision ./computer_vision
COPY ./data ./data
COPY ./weights ./weights
RUN bash install.sh

我所有的训练数据都保存在./data文件夹中。

install.sh包含以下几行:

#!/urs/bin/env bash

apt-get update
pip install --upgrade pip
pip install -r requirements.txt

然后,当我要创建新图像并启动培训时,我运行以下命令:

docker build -t ai_platform .
docker run --gpus all --env NVIDIA_VISIBLE_DEVICES=0 -v $PWD/weights:/AI_PLATFORM/weights --rm -it ai_platform python computer_vision/segmentation/unet_segmentation_models.py

我使用-v $PWD/weights:/AI_PLATFORM/weights将获得的权重保存在远程计算机上(这样一来,培训之后就不会删除它们)。

预先感谢您的帮助。

0 个答案:

没有答案
相关问题