• 安装与编译C++预测库
    • 直接下载安装
    • 从源码编译

    安装与编译C++预测库

    直接下载安装

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

    从源码编译

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

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

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

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

    1. PADDLE_ROOT=/path/of/capigit clone https://github.com/PaddlePaddle/Paddle.gitcd Paddlemkdir buildcd buildcmake -DFLUID_INFERENCE_INSTALL_DIR=$PADDLE_ROOT \ -DCMAKE_BUILD_TYPE=Release \ -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_mkldnn_quantizer_config.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: cc9028b90ef50a825a722c55e5fda4b7cd26b0d6WITH_MKL: ONWITH_MKLDNN: ONWITH_GPU: ONCUDA version: 8.0CUDNN version: v7