Tensorflow c++ 安装

本文主要介绍TensorFlow的C++编译与配置。包括安装bazel、下载TensorFlow特定版本,进行项目配置和编译,需注意cuda和cudnn版本。编译完成会生成所需库文件。还提及编译其他依赖、配置参考以及cmake使用参考等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装参考:

https://blog.youkuaiyun.com/gubenpeiyuan/article/details/80855644

1.安装bazel

echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install bazel

2.tensorflow的下载。

本博文使用的tensorflow版本为1.4,其他版本的c++编译可能会有一些不一样。

git clone https://github.com/tensorflow/tensorflow.git

3.tensorflow的c++编译。

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

./configure

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

3.2 使用bazel命令进行编译。编译的时间比较长,我在i3-4150cpu上编译了一个小时左右的时间。

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

如果没有显卡则使用如下命令进行编译

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

编译完成后,在bazel-bin/tensorflow中会生成两个我们需要的库文件:libtensorflow_cc.so 和 libtensorflow_framework.so。

在后面我们用C++调用tensorflow时需要链接这两个库文件。

 

编译其他依赖:

参考:https://www.cnblogs.com/seniusen/p/9756302.html

  • 进入 tensorflow/contrib/makefile 目录下,运行./build_all_linux.sh,成功后会出现一个gen文件夹

  • 若出现如下错误 /autogen.sh: 4: autoreconf: not found ,安装相应依赖即可 sudo apt-get install autoconf automake libtool

配置参考:

https://blog.youkuaiyun.com/fly_time2012/article/details/80847601

  • mkdir /usr/local/include/tf

  • cp -r bazel-genfiles/ /usr/local/include/tf/

  • cp -r tensorflow /usr/local/include/tf/

  • cp -r third_party /usr/local/include/tf/

  • cp -r bazel-bin/tensorflow/libtensorflow_cc.so /usr/local/lib/

参考: http://www.liuxiao.org/2018/08/ubuntu-tensorflow-c-%e4%bb%8e%e8%ae%ad%e7%bb%83%e5%88%b0%e9%a2%84%e6%b5%8b1%ef%bc%9a%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%ba/

2

3

4

5

6

7

sudo mkdir -p /usr/local/include/tf/tensorflow

sudo cp -r bazel-genfiles/ /usr/local/include/tf

sudo cp -r tensorflow/cc /usr/local/include/tf/tensorflow

sudo cp -r tensorflow/core /usr/local/include/tf/tensorflow

sudo cp -r third_party /usr/local/include/tf

sudo cp bazel-bin/tensorflow/libtensorflow_cc.so /usr/local/lib

sudo cp bazel-bin/tensorflow/libtensorflow_framework.so /usr/local/lib

https://blog.youkuaiyun.com/carbon06/article/details/82632781

cmake 使用参考:

http://www.liuxiao.org/2018/09/tensorflow-c-%e4%bb%8e%e8%ae%ad%e7%bb%83%e5%88%b0%e9%83%a8%e7%bd%b22%ef%bc%9a%e7%ae%80%e5%8d%95%e5%9b%be%e7%9a%84%e4%bf%9d%e5%ad%98%e3%80%81%e8%af%bb%e5%8f%96%e4%b8%8e-cmake-%e7%bc%96%e8%af%91/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值