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

3.1 进入tensorflow文件夹中,首先进行项目配置。

## 进入根目录后编译

./configure  

下面我贴出在我的机器上各选项的选择:值得注意的是,如果我们要使用cuda和cudnn的话,一定要搞清楚自己机器上使用的cuda和cudnn的版本(尤其是cudnn),例如我使用的是cuda8.0和cudnn6.0.21。

 

Tensorflow C++ 编译安装_tensorflow

Tensorflow C++ 编译安装_github_02

Tensorflow C++ 编译安装_git_03

Tensorflow C++ 编译安装_tensorflow_04

 

 

#bazel build --config=opt --config=cuda //tensorflow:libtensorflow_cc.so  

 

#bazel build --config=opt //tensorflow:libtensorflow_cc.so  

# 编译生成.so文件, 编译C++ API的库 (建议)
bazel build //tensorflow:libtensorflow_cc.so

(bazel build --config=monolithic --config=cuda //tensorflow:libtensorflow_cc.so)

 
# 也可以选择,编译C API的库
bazel build //tensorflow:libtensorflow.so

(bazel build --config=monolithic -c opt --verbose_failures //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 

Tensorflow C++ 编译安装_tensorflow_05