TensorFlow Lite开发系列之C++接口解析(二)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: TensorFlow Lite开发系列之C++接口解析

编译


1.下载tensorflow源码


2.保证系统已经安装g++, gcc, make, cmake


3.加压刚才下载好的 tensorflow 源码, 进入tensorflow-master/tensorflow/lite/tools/make/目录下


4.首先执行download_dependencies.sh文件,这里会下载一些依赖,博主下载了好几次才成功(小小心累),可能需要翻墙,如果总是下载失败的话,可以关注留言或者关注私信,联系我要这个文件


5.接下来根据不同的设备,执行不同的build_xxxxx.sh文件,博主是在ubuntu上运行的,这里sh build_lib.sh, 执行完毕后,在同级目录下生成 gen 目录,代表成功


API解析:


微信图片_20230203193157.png


这是推理过程当中,常用的两个类,常用方法如下(更多API介绍):


// 基于缓冲区构建模型
BuildFromBuffer(const char *caller_owned_buffer, size_t buffer_size, ErrorReporter *error_reporter)


// 基于文件构建模型
BuildFromFile(const char *filename, ErrorReporter *error_reporter)


// 验证缓冲区的内容是否合法,然后基于缓冲区构建模型
VerifyAndBuildFromBuffer(const char *buffer, size_t buffer_size, TfLiteVerifier *extra_verifier, ErrorReporter *error_reporter)


// 验证文件的内容是否合法,然后基于该文件构建模型
VerifyAndBuildFromFile(const char *filename, TfLiteVerifier *extra_verifier, ErrorReporter *error_reporter)


AllocateTensors()  // 加载所有的tensor


Interpreter(ErrorReporter *error_reporter)  // 实例化解释器


GetInputName(int index) const  // 返回给定输入的名称


GetOutputName(int index) const  // 返回给定输出的名称


Invoke()  //  调用推理器


ResizeInputTensor(int tensor_index, const std::vector< int > & dims)  // 更改给定张量的尺寸


SetAllowFp16PrecisionForFp32(bool allow)  // 尽可能允许float16精度用于FP32计算


SetNumThreads(int num_threads)  // 设置解释器可用的线程数


UseNNAPI(bool enable)  // 启用或禁用NN API(启用时为true)


typed_input_tensor(int index)  // 将变指针返回给定输入张量的数据


typed_output_tensor(int index)  // 将指针返回给定输出张量的数据
目录
相关文章
|
3天前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
12 2
|
8天前
|
Java 开发者 C++
|
9天前
|
XML Web App开发 数据挖掘
Postman接口测试工具全解析:功能、脚本编写及优缺点探讨
文章详细分析了Postman接口测试工具的功能、脚本编写、使用场景以及优缺点,强调了其在接口自动化测试中的强大能力,同时指出了其在性能分析方面的不足,并建议根据项目需求和个人偏好选择合适的接口测试工具。
15 1
|
2天前
|
存储 数据采集 API
提升店铺好评秘籍:淘宝商品评论接口与电商 API 接口的深度解析
该接口名为item_review,用于获取淘宝商品评论信息,支持HTTP GET或POST请求,体验API为c0b.cc/R4rbK2。主要请求参数包括商品ID(num_iid)、排序方式(sort)、页码(page)。响应参数涵盖评论内容(rate_content)、评论日期(rate_date)、评论图片(pics)、买家昵称(display_user_nick)、商品属性(auction_sku)
|
30天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
【Tensorflow+Keras】tf.keras.layers.Bidirectional()的解析与使用
本文解析了TensorFlow和Keras中的`tf.keras.layers.Bidirectional()`层,它用于实现双向RNN(如LSTM、GRU)的神经网络结构。文章详细介绍了该层的参数配置,并通过实例演示了如何构建含有双向LSTM层的模型,以及如何使用IMDB数据集进行模型训练和评估。
30 8
|
30天前
|
数据采集 存储 缓存
【Python-Tensorflow】tf.data.Dataset的解析与使用
本文详细介绍了TensorFlow中`tf.data.Dataset`类的使用,包括创建数据集的方法(如`from_generator()`、`from_tensor_slices()`、`from_tensors()`)、数据集函数(如`apply()`、`as_numpy_iterator()`、`batch()`、`cache()`等),以及如何通过这些函数进行高效的数据预处理和操作。
26 7
|
30天前
|
TensorFlow 算法框架/工具
【Tensorflow+Keras】tf.keras.backend.image_data_format()的解析与举例使用
介绍了TensorFlow和Keras中tf.keras.backend.image_data_format()函数的用法。
36 5
|
30天前
|
TensorFlow 算法框架/工具
【Python-Tensorflow】tf.concat()的解析与使用
介绍了TensorFlow中tf.concat()函数的用法,它用于将输入张量沿指定的axis维度合并。
15 3
|
10天前
|
存储 容器
容器镜像解析问题之desc.Image() 方法确定返回的 Image 接口类型如何解决
容器镜像解析问题之desc.Image() 方法确定返回的 Image 接口类型如何解决
11 0
|
10天前
|
索引 容器
容器镜像解析问题之通过ImageIndex 接口返回其 IndexManifest如何解决
容器镜像解析问题之通过ImageIndex 接口返回其 IndexManifest如何解决
13 0

热门文章

最新文章

推荐镜像

更多
下一篇
云函数