安装与编译Windows预测库

直接下载安装

版本说明 预测库(1.6.3版本)
cpu_avx_mkl fluid_inference.zip
cpu_avx_openblas fluid_inference.zip
cuda9.0_cudnn7_avx_mkl fluid_inference.zip
cuda10.0_cudnn7_avx_mkl fluid_inference.zip
cuda9.0_cudnn7_avx_openblas fluid_inference.zip

从源码编译预测库

用户也可以从 PaddlePaddle 核心代码编译C++预测库,只需在编译时配制下面这些编译选项:

选项
CMAKE_BUILD_TYPE Release
ON_INFER ON (推荐)
WITH_GPU ON/OFF
WITH_MKL ON/OFF
WITH_PYTHON OFF

请按照推荐值设置,以避免链接不必要的库。其它可选编译选项按需进行设定。

Windows下安装与编译预测库步骤:(在Windows命令提示符下执行以下指令)

  • 将PaddlePaddle的源码clone在当下目录的Paddle文件夹中,并进入Paddle目录:
  1. git clone https://github.com/PaddlePaddle/Paddle.git
  2. cd Paddle
  • 执行cmake:
  1. # 创建build目录用于编译
  2. mkdir build
  3.  
  4. cd build
  5.  
  6. cmake .. -G "Visual Studio 14 2015" -A x64 -DCMAKE_BUILD_TYPE=Release -DWITH_MKL=OFF -DWITH_GPU=OFF -DON_INFER=ON -DWITH_PYTHON=OFF
  7. # -DWITH_GPU`为是否使用GPU的配置选项,-DWITH_MKL 为是否使用Intel MKL(数学核心库)的配置选项,请按需配置。
  8.  
  9. # Windows默认使用 /MT 模式进行编译,如果想使用 /MD 模式,请使用以下命令。如不清楚两者的区别,请使用上面的命令
  10. cmake .. -G "Visual Studio 14 2015" -A x64 -DCMAKE_BUILD_TYPE=Release -DWITH_MKL=OFF -DWITH_GPU=OFF -DON_INFER=ON -DWITH_PYTHON=OFF -DMSVC_STATIC_CRT=OFF
  • 使用Blend for Visual Studio 2015 打开 paddle.sln 文件,选择平台为x64,配置为Release,编译inference_lib_dist项目。 操作方法:在Visual Studio中选择相应模块,右键选择"生成"(或者"build")

编译成功后,使用C++预测库所需的依赖(包括:(1)编译出的PaddlePaddle预测库和头文件;(2)第三方链接库和头文件;(3)版本信息与编译选项信息) 均会存放于fluid_inference_install_dir目录中。目录结构如下:

  1. fluid_inference_install_dir/
  2. ├── CMakeCache.txt
  3. ├── paddle
  4. ├── include
  5. ├── paddle_anakin_config.h
  6. ├── paddle_analysis_config.h
  7. ├── paddle_api.h
  8. ├── paddle_inference_api.h
  9. ├── paddle_mkldnn_quantizer_config.h
  10. └── paddle_pass_builder.h
  11. └── lib
  12. ├── libpaddle_fluid.a
  13. └── libpaddle_fluid.so
  14. ├── third_party
  15. ├── boost
  16. └── boost
  17. ├── eigen3
  18. ├── Eigen
  19. └── unsupported
  20. └── install
  21. ├── gflags
  22. ├── glog
  23. ├── mkldnn
  24. ├── mklml
  25. ├── protobuf
  26. ├── xxhash
  27. └── zlib
  28. └── version.txt

version.txt 中记录了该预测库的版本信息,包括Git Commit ID、使用OpenBlas或MKL数学库、CUDA/CUDNN版本号,如:

  1. GIT COMMIT ID: cc9028b90ef50a825a722c55e5fda4b7cd26b0d6
  2. WITH_MKL: ON
  3. WITH_MKLDNN: ON
  4. WITH_GPU: ON
  5. CUDA version: 8.0
  6. CUDNN version: v7

编译预测demo

硬件环境

测试环境硬件配置:

CPU I7-8700K
内存 16G
硬盘 1T hdd + 256G ssd
显卡 GTX1080 8G

测试环境操作系统使用 win10 家庭版本。

软件要求

请您严格按照以下步骤进行安装,否则可能会导致安装失败!

安装Visual Studio 2015 update3

安装Visual Studio 2015,安装选项中选择安装内容时勾选自定义,选择安装全部关于c,c++,vc++的功能。

编译demo

下载并解压 fluid_inference_install_dir.zip 压缩包。

进入 Paddle/paddle/fluid/inference/api/demo_ci 目录,新建build目录并进入,然后使用cmake生成vs2015的solution文件。 指令为:

cmake .. -G "Visual Studio 14 2015" -A x64 -DWITH_GPU=OFF -DWITH_MKL=ON -DWITH_STATIC_LIB=ON -DCMAKE_BUILD_TYPE=Release -DDEMO_NAME=simple_on_word2vec -DPADDLE_LIB=path_to_the_paddle_lib

注:

-DDEMO_NAME 是要编译的文件

-DPADDLE_LIB fluid_inference_install_dir,例如 -DPADDLE_LIB=D:\fluid_inference_install_dir

Cmake可以在官网进行下载,并添加到环境变量中。

执行完毕后,build 目录如图所示,打开箭头指向的 solution 文件:

安装与编译Windows预测库 - 图1

根据实际的预测库版本选择运行库/MT/MD

安装与编译Windows预测库 - 图2

安装与编译Windows预测库 - 图3

编译生成选项改成 Release

安装与编译Windows预测库 - 图4

安装与编译Windows预测库 - 图5

通过cmd进到Release目录执行:

  • 开启GLOG
  1. `set GLOG_v=100`
  • 进行预测
  1. `simple_on_word2vec.exe --dirname=.\word2vec.inference.model`

安装与编译Windows预测库 - 图6