Windows下从源码编译

在Windows系统下提供1种编译方式:

环境准备

  • Windows 7/8/10 专业版/企业版 (64bit)

  • Python 版本 3.6/3.7/3.8/3.9/3.10 (64 bit)

  • Visual Studio 2017/2019 社区版/专业版/企业版

选择CPU/GPU

  • 如果你的计算机硬件没有 NVIDIA® GPU,请编译CPU版本的PaddlePaddle

  • 如果你的计算机硬件有 NVIDIA® GPU,推荐编译 GPU 版本的 PaddlePaddle,建议安装 CUDA 10.1/10.2//11.1/11.2/11.6

本机编译过程

  1. 安装必要的工具 cmake, git, python, Visual studio 2017/2019:

    cmake:建议安装CMake3.17版本, 官网下载链接。安装时注意勾选 Add CMake to the system PATH for all users,将CMake添加到环境变量中。

    git:官网下载链接,使用默认选项安装。

    python:官网链接,可选择3.6/3.7/3.8/3.9/3.10中任一版本的 Windows installer(64-bit)安装。安装时注意勾选 Add Python 3.x to PATH,将Python添加到环境变量中。

    Visual studio:需根据 CUDA 版本选择对应的 Visual studio 版本,当只编译 CPU 版本或者 CUDA 版本 < 11.2 时,安装 VS2017;当 CUDA 版本 >= 11.2 时,安装 VS2019。官网链接,需要登录后下载,建议下载 Community 社区版。在安装时需要在工作负荷一栏中勾选 使用 C++的桌面开发通用 Windows 平台开发,并在语言包一栏中选择 英语

  2. 打开 Visual studio 终端:在 Windows 桌面下方的搜索栏中搜索终端,若安装的是 VS2017 版本,则搜索 x64 Native Tools Command Prompt for VS 2017适用于 VS 2017 x64 本机工具命令提示符;若安装的是 VS2019 版本,则搜索 x64 Native Tools Command Prompt for VS 2019适用于 VS 2019 x64 本机工具命令提示符,然后右键以管理员身份打开终端。后续的命令将在该终端执行。

  3. 使用pip命令安装 Python 依赖:

    • 通过 python --version 检查默认 python 版本是否是预期版本,因为你的计算机可能安装有多个 python,可通过修改系统环境变量的顺序来修改默认 Python 版本。

    • 安装 numpy, protobuf, wheel, ninja

      pip install numpy protobuf wheel ninja
      
  4. 创建编译Paddle的文件夹(例如D:\workspace),进入该目录并下载源码:

    mkdir D:\workspace && cd /d D:\workspace
    
    git clone https://github.com/PaddlePaddle/Paddle.git
    
    cd Paddle
    
  5. 切换到2.2分支下进行编译:

    git checkout release/2.3
    
  6. 创建名为build的目录并进入:

    mkdir build
    
    cd build
    
  7. 执行cmake:

    编译CPU版本的Paddle:

    cmake .. -GNinja -DWITH_GPU=OFF
    

    编译GPU版本的Paddle:

    cmake .. -GNinja -DWITH_GPU=ON
    

    其他编译选项含义请参见编译选项表

    注意:

    1. 如果本机安装了多个 CUDA,将使用最新安装的 CUDA 版本。若需要指定 CUDA 版本,则需要设置环境变量和 cmake 选项,例如:

    set CUDA_TOOLKIT_ROOT_DIR=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2
    set PATH=%CUDA_TOOLKIT_ROOT_DIR:/=\%\bin;%CUDA_TOOLKIT_ROOT_DIR:/=\%\libnvvp;%PATH%
    cmake .. -GNinja -DWITH_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR="%CUDA_TOOLKIT_ROOT_DIR%"
    
    1. 如果本机安装了多个 Python,将使用最新安装的 Python 版本。若需要指定 Python 版本,则需要指定 Python 路径,例如:

    cmake .. -GNinja -DWITH_GPU=ON -DPYTHON_EXECUTABLE=C:\Python38\python.exe -DPYTHON_INCLUDE_DIR=C:\Python38\include -DPYTHON_LIBRARY=C:\Python38\libs\python38.lib
    
  8. 执行编译:

    ninja
    
  9. 编译成功后进入 python\dist 目录下找到生成的 .whl 包:

    cd python\dist
    
  10. 安装编译好的 .whl 包:

    pip install(whl包的名字)--force-reinstall
    

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

验证安装

安装完成后你可以使用 python 进入python解释器,输入:

import paddle
paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明你已成功安装。

如何卸载

请使用以下命令卸载PaddlePaddle:

  • CPU版本的PaddlePaddle:

    pip uninstall paddlepaddle
    
  • GPU版本的PaddlePaddle:

    pip uninstall paddlepaddle-gpu