# 从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