Tensorflow C++ 编译安装

# 从github下载tensorflow源代码
git clone https://github.com/tensorflow/tensorflow -b r1.8


## 进入根目录后编译
# 编译生成.so文件, 编译C++ API的库 (建议)
bazel build //tensorflow:libtensorflow_cc.so
 
# 也可以选择,编译C API的库
bazel build //tensorflow:libtensorflow.so

在等待30多分钟后, 如果编译成功,在tensorflow根目录下出现 bazel-bin, bazel-genfiles 等文件夹

在 tensorflow/bazel-bin/tensorflow 生成libtensorflow_cc.so 和 libtensorflow_framework.so

安装依赖:到 tensorflow/contrib/makefile目录下,找到build_all_xxx.sh文件并执行

下载安装缺少的库:./tensorflow/contrib/makefile/download_dependencies.sh

进入tensorflow/contrib/makefile/downloads/ 安装protobuf和eigen

mkdir build

cd build

cmake .. 

make install

安装protobuf

在Ubuntu的上,您可以使用以下命令安装它们:

$ sudo apt-get install autoconf automake libtool curl make g++ unzip

在其他平台上,请在继续之前使用相应的包管理工具进行安装。

如果从github上获取源代码,则需要先生成配置脚本:

$ ./autogen.sh

这将下载gmock源(用于C ++协议缓冲区单元测试)到当前目录并运行automake,autoconf等,以生成配置脚本和各种模板makefile。

如果您使用的是发行包(已包含gmock和配置脚本),则可以跳过此步骤。

要构建和安装C ++ Protocol Buffer运行时和协议缓冲区编译器(protoc),请执行以下命令:

$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.

如果“make check”失败,您仍然可以安装,但该库的某些功能可能无法在您的系统上正常运行。继续需要您自担风险。

然后将demo的vi CMakeLists.txt 修改路径

再将在tensorflow/bazel-bin/tensorflow 生成libtensorflow_cc.so 和 libtensorflow_framework.so拷贝到demo的lib下覆盖

接着把图片和model放在同一个目录下 make .

make

 ./tf_test digit.jpg 

猜你喜欢

转载自blog.csdn.net/qq_37674858/article/details/81095101