安装与编译C++预测库

直接下载安装

c++预测库列表
版本说明预测库(1.3版本)预测库(develop版本)
cpu_avx_mklfluid_inference.tgzfluid_inference.tgz
cpu_avx_openblasfluid_inference.tgzfluid_inference.tgz
cpu_noavx_openblasfluid_inference.tgzfluid_inference.tgz
cuda8.0_cudnn5_avx_mklfluid_inference.tgzfluid_inference.tgz
cuda8.0_cudnn7_avx_mklfluid_inference.tgzfluid_inference.tgz
cuda9.0_cudnn7_avx_mklfluid_inference.tgzfluid_inference.tgz

从源码编译

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

选项
CMAKE_BUILD_TYPERelease
FLUID_INFERENCE_INSTALL_DIR安装路径
WITH_FLUID_ONLYON(推荐)
WITH_SWIG_PYOFF(推荐)
WITH_PYTHONOFF(推荐)
ON_INFERON(推荐)
WITH_GPUON/OFF
WITH_MKLON/OFF

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

下面的代码片段从github拉取最新代码,配制编译选项(需要将PADDLE_ROOT替换为PaddlePaddle预测库的安装路径):



  1. PADDLE_ROOT=/path/of/capi
    git clone https://github.com/PaddlePaddle/Paddle.git
    cd Paddle
    mkdir build
    cd build
    cmake -DFLUID_INFERENCE_INSTALL_DIR=$PADDLE_ROOT \
    -DCMAKE_BUILD_TYPE=Release \
    -DWITH_FLUID_ONLY=ON \
    -DWITH_SWIG_PY=OFF \
    -DWITH_PYTHON=OFF \
    -DWITH_MKL=OFF \
    -DWITH_GPU=OFF \
    -DON_INFER=ON \
    ..
    make
    make inference_lib_dist


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



  1. PaddleRoot/
    ├── CMakeCache.txt
    ├── paddle
    ├── include
    ├── paddle_anakin_config.h
    ├── paddle_analysis_config.h
    ├── paddle_api.h
    ├── paddle_inference_api.h
    └── paddle_pass_builder.h
    └── lib
    ├── libpaddle_fluid.a
    └── libpaddle_fluid.so
    ├── third_party
    ├── boost
    └── boost
    ├── eigen3
    ├── Eigen
    └── unsupported
    └── install
    ├── gflags
    ├── glog
    ├── mkldnn
    ├── mklml
    ├── protobuf
    ├── snappy
    ├── snappystream
    ├── xxhash
    └── zlib
    └── version.txt


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



  1. GIT COMMIT ID: cc9028b90ef50a825a722c55e5fda4b7cd26b0d6
    WITH_MKL: ON
    WITH_MKLDNN: ON
    WITH_GPU: ON
    CUDA version: 8.0
    CUDNN version: v5


原文: http://paddlepaddle.org/documentation/docs/zh/1.3/advanced_usage/deploy/inference/build_and_install_lib_cn.html