linux 源码安装 tensorflow C++

系统:Ubuntu16.04

TensorFlow1.4 cpu版本

g++: 5.4.0

bazel: 0.5.4

参考:https://blog.csdn.net/zwx1995zwx/article/details/79064064

1,下载TensorFlow源代码

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout r1.4 # 切换到所要编译的版本分支

2,安装bazel

bazel的版本太高太低都会有问题,可以查看tensorflow/tensorflow/docs_src/install/install_sources.md文件中的版本需求。tf1.4版本对应的bazel版本是0.5.4。

安装bazel0.5.4:https://docs.bazel.build/versions/master/install-ubuntu.html#install-with-installer-ubuntu。推荐用installing using binary installer安装

3,编译Tensorflow

3.1,进入tensorflow文件夹

./configure

按照提示都选n,参考https://blog.csdn.net/zwx1995zwx/article/details/79064064

3.2,bazel编译

bazel build --config=opt //tensorflow:libtensorflow_cc.so // 无显卡,cpu版本
bazel build --config=opt --config=cuda //tensorflow:libtensorflow_cc.so // 有显卡

4,其他依赖

在tensorflow/contrib/makefile下,执行build_all_linux.sh文件,成功后会出现一个gen文件夹。

如果tensorflow/contrib/makefile下没有downloads文件夹,则回到tensorflow文件夹下,执行:

./tensorflow/contrib/makefile/download_dependencies.sh

如需Eigen库,则进入tensorflow/contrib/makefile/downloads/eigen,执行:

mkdir build  
cd build  
cmake ..  
make  
sudo make install

安装完毕后,在usr/local/include目录下会出现eigen3文件夹。

5,整理头文件和so库

两个so库在bazel-bin/tensorflow文件夹下libtensorflow_cc.so 和 libtensorflow_framework.so。

将4个头文件文件夹整理出来:

<you_path>/tensorflow (只需tensorflow目录下tensorflow和third_party两个文件夹)

<you_path>/tensorflow/bazel-genfiles 

<you_path>/tensorflow/tensorflow/contrib/makefile/downloads/nsync/public 

<you_path>/tensorflow/tensorflow/contrib/makefile/gen/protobuf/include

6,测试

参考https://blog.csdn.net/zwx1995zwx/article/details/79064064

下载测试项目的Git:https://github.com/zhangcliff/tensorflow-c-mnist.git

在tensorflow-c-mnist中新建头文件include文件夹和so库文件夹lib,将第5步中的so库和include文件夹分别copy到这两个新建的lib和include文件夹下。

新建CMakeLists.txt文件

cmake_minimum_required (VERSION 2.8.8)
project (tf_example)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11 -W")
link_directories(./lib)
  include_directories(
  include/tensorflow
  include/bazel-genfiles
  include/nsync-public
  include/protobuf-inc
  /usr/local/include/eigen3
)
add_executable(tf_test  tf.cpp)
target_link_libraries(tf_test tensorflow_cc tensorflow_framework)

然后编译运行

cd build
cmake ..
make
./tf_test digit.jpg 


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值