构建PaddlePaddle Docker Image

PaddlePaddle的Docker Image构建源码放置在 :code:`${源码根目录}/paddle/scripts/docker/`目录下。 该Image基于ubuntu 14.04。该目录下有两个文件,Dockerfile和build.sh。其中:

  • Dockerfile是docker image的主要描述文件。描述了Docker image的构建步骤、各种参数和维护 人员等等。
  • build.sh是docker image的主要构建步骤。

该image的构建在docker 1.12版本测试通过, 低于docker 1.12版本的情况下并没有测试。主要由于旧版本 的docker可能缺乏 --build-arg 参数,从而不能在运行编译命令的时候接受参数。

同时,该构建脚本充分考虑了网络不稳定的情况,对于cuda的Toolkit有断点续传和传输速度过小重启下载的 简单优化。

使用脚本构建PaddlePaddle Docker Image

该脚本的使用方法是,进入该源码目录,执行 docker build . 命令。可以使用
--build-arg 传入的配置参数包括:
  • LOWEST_DL_SPEED: 多线程下载过程中,最低线程的下载速度(默认单位是Bytes,可以传入10K, 10M,或者10G这样的单位)。如果小于这个下载速度,那么这个下载线程将会关闭。所有的下载线程关闭时, 下载进程会重启。
  • WITH_GPU: ON or OFF。是否开启GPU功能。注意,编译PaddlePaddle的GPU版本并不需要一定在具有GPU 的机器上进行。但是,运行PaddlePaddle的GPU版本一定要在具有CUDA的机器上运行。

简单的使用样例为:

cd ${源码根目录}/paddle/scripts/docker/
docker build --build-arg LOWEST_DL_SPEED=50K\
             --build-arg WITH_GPU=ON \
             --tag  paddle_gpu:latest .

即可在本地编译出PaddlePaddle的镜像。