附录

    编译选项表

    BLAS

    PaddlePaddle支持 MKL 和 两种BLAS库。默认使用MKL。如果使用MKL并且机器含有AVX2指令集,还会下载MKL-DNN数学库,详细参考这里

    如果关闭MKL,则会使用OpenBLAS作为BLAS库。

    CUDA/cuDNN

    PaddlePaddle在编译时/运行时会自动找到系统中安装的CUDA和cuDNN库进行编译和执行。 使用参数 -DCUDA_ARCH_NAME=Auto 可以指定开启自动检测SM架构,加速编译。

    PaddlePaddle可以使用cuDNN v5.1之后的任何一个版本来编译运行,但尽量请保持编译和运行使用的cuDNN是同一个版本。 我们推荐使用最新版本的cuDNN。

    编译选项的设置

    PaddePaddle通过编译时指定路径来实现引用各种BLAS/CUDA/cuDNN库。cmake编译时,首先在系统路径( /usr/lib/usr/local/lib )中搜索这几个库,同时也会读取相关路径变量来进行搜索。 通过使用-D命令可以设置,例如:

    注意:这几个编译选项的设置,只在第一次cmake的时候有效。如果之后想要重新设置,推荐清理整个编译目录( rm -rf )后,再指定。

    您可以在 Release History 中找到PaddlePaddle-gpu的各个发行版本。

    其中postXX 对应的是CUDA和cuDNN的版本,postXX之前的数字代表Paddle的版本

    需要注意的是,命令中 paddlepaddle-gpu 在windows环境下,会默认安装支持CUDA 10.0和cuDNN 7的对应[版本号]的PaddlePaddle安装包

    多版本whl包列表-Release

    • 纵轴

    cpu-openblas: 支持CPU训练和预测,使用openblas数学库

    cuda9-cudnn7-openblas: 支持GPU训练和预测,使用openblas数学库

    cuda9_cudnn7-mkl: 支持GPU训练和预测,使用Intel mkl数学库

    cuda10_cudnn7-mkl: 支持GPU训练和预测,使用Intel mkl数学库

    • 横轴

    一般是类似于“cp27-cp27mu”的形式,其中:

    27:python tag,指python2.7,类似的还有“35”、“36”、“37”等

    mu:指unicode版本python,若为m则指非unicode版本python

    每个安装包都有一个专属的名字,它们是按照Python的官方规则 来命名的,形式如下:

    {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl

    其中build tag可以缺少,其他部分不能缺少

    distribution: wheel名称version: 版本,例如0.14.0 (要求必须是数字格式)

    python tag: 类似'py27', 'py2', 'py3',用于标明对应的python版本

    abi tag: 类似'cp33m', 'abi3', 'none'

    platform tag: 类似 'linux_x86_64', 'any'

    在Docker中执行PaddlePaddle训练程序

    假设您已经在当前目录(比如在/home/work)编写了一个PaddlePaddle的程序: (可以参考 PaddlePaddleBook 编写),就可以使用下面的命令开始执行训练:

    上述命令中,-it 参数说明容器已交互式运行;-v $PWD:/work 指定将当前路径(Linux中PWD变量会展开为当前路径的绝对路径)挂载到容器内部的:/work 目录: hub.baidubce.com/paddlepaddle/paddle 指定需要使用的容器; 最后/work/train.py为容器内执行的命令,即运行训练程序。

    当然,您也可以进入到Docker容器中,以交互式的方式执行或调试您的代码:

    注:PaddlePaddle Docker镜像为了减小体积,默认没有安装vim,您可以在容器中执行 apt-get install -y vim 安装后,在容器中编辑代码。

    使用Docker可以快速在本地启动一个包含了PaddlePaddle官方Book教程的Jupyter Notebook,可以通过网页浏览。 PaddlePaddle Book是为用户和开发者制作的一个交互式的Jupyter Notebook。 如果您想要更深入了解deep learning,可以参考PaddlePaddle Book。 大家可以通过它阅读教程,或者制作和分享带有代码、公式、图表、文字的交互式文档。

    我们提供可以直接运行PaddlePaddle Book的Docker镜像,直接运行:

    docker run -p 8888:8888 hub.baidubce.com/paddlepaddle/book

    国内用户可以使用下面的镜像源来加速访问:

    docker run -p 8888:8888 hub.baidubce.com/paddlepaddle/book

    然后在浏览器中输入以下网址:

    就这么简单,享受您的旅程!如有其他问题请参见FAQ

    使用Docker执行GPU训练

    为了保证GPU驱动能够在镜像里面正常运行,我们推荐使用 nvidia-docker来运行镜像。 请不要忘记提前在物理机上安装GPU最新驱动。