tensorflow-c-api配置

tensorflow-c-api配置

前言:

  • 下面的步骤看起来多,其实和配置opencv差不多,由于很多时候看网上的一些教程,一下就跳过了几步,对我这种人来说很不友好,所以我写的就尽量详细了。
  • 搭建网络模型、训练都是在python上进行,但是在生产中一般都需要部署到C++环境下,所以一般是用python训练保存模型,拿到C++环境下用。但是配置tensorflow c++ api真的是太太太恶心了,我花了一个星期的时间才弄好(可能也是我太菜了,留下不学无术的眼泪)
  • 说说里面的坑,官网给的配置教程很笼统,我按着教程把bazel编译器,vs2019,tensorflow源码下载下来安装好,但是配置过程中发现很多命令是linux下的,也就是有些命令是在windows下,有些在linux下…。另外尝试过用opencv 4.x 调取模型的.pb文件,但是opencv 支持的只有,.pb和.pbtxt同时存在的那种。网上很多教程跟着做也都没有成功。最后是看到github上的一个项目!(https://github.com/serizba/cppflow)
    它不用安装tensorflow,也不用编译就可以在c++上读取.pb模型,就只有几个文件,看了下代码突然找到方向:能不能像配置opencv一样配置tensorflow,试了下真成了!

1. 准备:vs2017pro(个人认为,就这种配置方法在vs2015,vs2019也是一样的),libtensorflow c语言库

libtensorflow下载链接:
- windows-cpu版:https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.3.0.zip
- windows-GPU版:https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.3.0.zip
- 所有版本linux、mac、windows链接(一般需要梯子出墙):https://www.tensorflow.org/install/lang_c#linux
- 下载下来解压后的文件结构如下图:

tu1.PNG

tu2.PNG

tu3.PNG

2.3.0版本解压后大概181Mb

2. vs2017属性页配置

  • 创建空项目,下面选项是项目名称和路径设置

t1.PNG

  • 点击确定之后,右击releas|64 -> 添加新项目属性表,下面是名称(tf_lib.props)和路径:

t5.PNG

  • tf_lib.props创建完成后,配置tf_lib.props属性,右击relase|64属性下的tf_lib
    配置vc++ 库目录和包含目录(路径就是存放libtensorflow的地方)
    比如我的
  • 包含目录:D:\vs2017pro\mydoc\my_tf_example\libtensorflow\include
  • 库目录:D:\vs2017pro\mydoc\my_tf_example\libtensorflow\lib

t10.PNG

  • 添加:连接器-》输入-》附加依赖项:tensorflow.lib

t17.PNG

  • 点击应用-保存

3. 新建源文件

  • 点击视图-》解决方案资源管理器-》右击源文件-》添加-》新建项-》cpp文件

t12.PNG

  • 代码中写入以下内容

t13.PNG

#include <stdio.h>
#include <tensorflow/c/c_api.h>

int main() {
	printf("Hello from TensorFlow C library version %s\n", TF_Version());
	return 0;
}

4. 生成解决方案

t18.PNG

yes!!!!!!!!!!!!
完美!!!!!!!!!!!!!

5. 把tensorflow.dll文件复制到源文件所在文件夹,就可以运行了

t19.PNG
t20.PNG


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值