1. 程式人生 > >Ubuntu 16.04 build TensorFlow & Lite C++ 動態連線庫

Ubuntu 16.04 build TensorFlow & Lite C++ 動態連線庫

首先要安裝bazel tool

下載原始碼:git clone https://github.com/tensorflow/tensorflow.git

Build Tensorflow:

bazel build  --jobs 6 //tensorflow:libtensorflow_cc.so 

假如需要增加Intel CPU 加速:

bazel build --config=mkl --config=opt  --jobs 6 //tensorflow:libtensorflow_cc.so 

Build Tensorflow Lite:

編輯TensorFlow source code裡面的"tensorflow/contrib/lite/BUILD"檔案,增加:

cc_binary(
    name = "libtflite.so",
    deps = [":framework",
        "//tensorflow/contrib/lite/kernels:builtin_ops",
        "//tensorflow/contrib/lite/kernels:eigen_support",
        "//tensorflow/contrib/lite/kernels:gemm_support",
    ],
    linkopts=["-shared -Wl,--whole-archive" ],
    linkshared=1

)

bazel build  --jobs 6 //tensorflow/contrib/lite:libtflite.so  --cxxopt="-std=c++11" --copt="-O3"

使用這些C++庫的link的時候最好加上:LDFLAGS +=  -Wl,--allow-multiple-definition -Wl,--whole-archive -ltflite

Build TensorFlow pip install檔案,比較慢,一般不推薦,自己build主要是增加本地的優化配置選項,大家可以自行增加:

bazel build --jobs 6 //tensorflow/tools/pip_package:build_pip_package

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

pip install --upgrade /tmp/tensorflow_pkg/tensorflow-*.whl