MacOS下从源码编译

    • MacOS 版本 10.11/10.12/10.13/10.14 (64 bit) (不支持GPU版本)
    • Python 版本 2.7.15+/3.5.1+/3.6/3.7 (64 bit)
    • pip 或 pip3 版本 9.0.1+ (64 bit)
    • 目前仅支持在MacOS环境下编译安装CPU版本的PaddlePaddle
    • Docker源码编译
    • 本机源码编译

    是一个开源的应用容器引擎。使用Docker,既可以将PaddlePaddle的安装&使用与系统环境隔离,也可以与主机共享GPU、网络等资源

    使用Docker编译PaddlePaddle,您需要:

    • 在本地主机上安装Docker
    • 使用Docker ID登陆Docker,以避免出现错误

    请您按照以下步骤安装:

    • 进入Mac的终端

    • 请选择您希望储存PaddlePaddle的路径,然后在该路径下使用以下命令将PaddlePaddle的源码从github克隆到本地当前目录下名为Paddle的文件夹中:

    git clone

    • 创建并进入满足编译环境的Docker容器:

    docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash

    • 进入Docker后进入paddle目录下:

    cd paddle

    • 切换到较稳定版本下进行编译:

    git checkout [分支名]

    例如:

    git checkout release/1.2

    注意:python3.6、python3.7版本从release/1.2分支开始支持

    • 创建并进入/paddle/build路径下:

    mkdir -p /paddle/build && cd /paddle/build

    • 使用以下命令安装相关依赖:

    注意:以上用Python3.5命令来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7

    apt install patchelf

    安装patchelf,PatchELF 是一个小而实用的程序,用于修改ELF可执行文件的动态链接器和RPATH。

    • 执行cmake:

    具体编译选项含义请参见编译选项表 请注意修改参数-DPY_VERSION为您希望编译使用的python版本, 例如-DPY_VERSION=3.5表示python版本为3.5.x

    • 对于需要编译CPU版本PaddlePaddle的用户:

    cmake .. -DPY_VERSION=3.5 -DWITH_GPU=OFF -DWITH_TESTING=OFF -DWITH_AVX=OFF -DCMAKE_BUILD_TYPE=Release

    • 执行编译:

    make -j$(nproc)

    使用多核编译

    • 编译成功后进入/paddle/build/python/dist目录下找到生成的.whl包: cd /paddle/build/python/dist

    • 在当前机器或目标机器安装编译好的.whl包:

    恭喜,至此您已完成PaddlePaddle的编译安装。您只需要进入Docker容器后运行PaddlePaddle,即可开始使用。更多Docker使用请参见

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

    本机编译

    请严格按照以下指令顺序执行

    • 检查您的计算机和操作系统是否符合我们支持的编译标准: uname -m 并且在关于本机中查看系统版本。并提前安装OpenCV

    • 安装Python以及pip:

    请不要使用MacOS中自带Python,我们强烈建议您使用安装python(对于Python3请使用python官方下载python3.5.x、python3.6.x、python3.7.x), pip以及其他的依赖,这将会使您高效编译。

    • (Only For Python2)设置Python相关的环境变量:

      • 请使用find / -name libpython2.7.dylib找到您当前使用python的libpython2.7.dylib路径,并使用export LD_LIBRARY_PATH=[libpython2.7.dylib的路径] && export DYLD_LIBRARY_PATH=[libpython2.7.dylib所在的目录的上两级目录]
    • (Only For Python3)设置Python相关的环境变量:

      • a. 首先使用 find dirname $(dirname $(which python3)) -name "libpython3.*.dylib" 找到Pythonlib的路径(弹出的第一个对应您需要使用的python的dylib路径),然后(下面[python-lib-path]替换为找到文件路径)
      • b. 设置PYTHON_LIBRARIES:export PYTHON_LIBRARY=[python-lib-path]
      • d. 设置PYTHON_INCLUDE_DIR: export PYTHON_INCLUDE_DIRS=[python-include-path]
      • e. 设置系统环境变量路径:export PATH=[python-bin-path]:$PATH (这里[python-bin-path]为将[python-lib-path]的最后两级目录替换为/bin/后的目录)
      • f. 设置动态库链接: export LD_LIBRARY_PATH=[python-ld-path] 以及 export DYLD_LIBRARY_PATH=[python-ld-path] (这里[python-ld-path]为[python-bin-path]的上一级目录)
      • g. (可选)如果您是在MacOS 10.14上编译PaddlePaddle,请保证您已经安装了的Xcode。
    • 执行编译前请您确认您的环境中安装有编译依赖表中提到的相关依赖,否则我们强烈推荐使用Homebrew安装相关依赖。
    • a. 这里特别说明一下CMake的安装:

    由于我们使用的是CMake3.4请根据以下步骤:

    • b. 如果您不想使用系统默认的blas而希望使用自己安装的OPENBLAS请参见
    • 将PaddlePaddle的源码clone在当下目录下的Paddle的文件夹中,并进入Padde目录下:

    • 切换到较稳定release分支下进行编译:

    git checkout [分支名]

    例如:

    git checkout release/1.2

    注意:python3.6、python3.7版本从release/1.2分支开始支持

    • 并且请创建并进入一个叫build的目录下:

    mkdir build && cd build

    • 执行cmake:

    具体编译选项含义请参见

    • 对于需要编译CPU版本PaddlePaddle的用户:

    -DPY_VERSION=3.5请修改为安装环境的Python版本

    • 使用以下命令来编译:

    make -j4

    • 编译成功后进入/paddle/build/python/dist目录下找到生成的.whl包: cd /paddle/build/python/dist

    • 在当前机器或目标机器安装编译好的.whl包:

    pip install -U(whl包的名字)pip3 install -U(whl包的名字)

    恭喜,至此您已完成PaddlePaddle的编译安装

    安装完成后您可以使用 pythonpython3 进入python解释器,输入import paddle.fluid as fluid ,再输入 fluid.install_check.run_check()

    如果出现Your Paddle Fluid is installed succesfully!,说明您已成功安装。

    请使用以下命令卸载PaddlePaddle