c语言案例tensorflow,Tensorflow的C语言接口部署DeeplabV3+语义分割模型

本文介绍了如何使用Tensorflow的C语言接口部署DeeplabV3+语义分割模型,包括Mat转Tensor、GPU资源设置和模型推理。示例展示了将opencv处理的图像转换为Tensor,以及调整GPU使用率的方法。

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

原标题:Tensorflow的C语言接口部署DeeplabV3+语义分割模型

微信公众号:OpenCV学堂

投稿作者:小黄弟,

来自:中国电科智慧城市建模仿真与智能技术重点实验室

文字编辑:gloomyfish

前言概述

tensorflow框架一般都是基于Python调用,但是有些时候跟应用场景,我们希望调用tensorflow C语言的接口,在C++的应用开发中使用它。要这么干,首先需要下载tensorflow源码,完成编译,然后调用相关的API函数实现C语言版本的调用,完成模型的加载、前向推理预测与解析。

本文主要讲DeeplabV3+语义分割模型的tensorflow C接口部署,不涉及到模型的训练过程,训练过程可以参考:

https://github.com/tensorflow/models/tree/master/research/deeplab.

官方提供了PASCAL VOC 2012,Cityscapes,ADE20K不同数据集上预训练好的模型,同时还有基于ImageNet预训练好的不同backbone网络, 包括mobilenetv2,xception,resnet,我们可以根据自己的需求来选择合适的backbone。本文不涉及tensorflow C版本的编译,只是讲解如何通过API调用预训练模型进行前向推理预测,模型的导出文件为:

frozen_inference_graph.pb

Mat转Tensor

在tensorflow中,输入数据格式为Tensor格式,有专门的函数读取图片及转换,但这样给图像预处理带来了不便,所以一般情况下,会先用opencv对图像进行读取及预处理,再从opencv的Mat格式转为tensorflow的Tensor格式,代码如下:区区几行代码,却是参考了无数资料及测试才得出来的,真是心酸

1TF_Tensor* CreateTensor(TF_DataTypedata_type, conststd:: int64_t* dims, std::s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值