如何在PC端测试转换后的TFLite模型

二、模型训练与优化(5):验证优化后的模型 PC 上验证安装或使用;编写脚本加载.tflite模型并推理测试集,以查看准确率和推理速度;适合快速验证,不依赖目标硬件特性。STM32 或其他 MCU 上验证使用导入.tflite或.h5;生成 C 代码并集成到固件工程;在真实硬件上测试资源占用推理速度、以及预测结果是否符合预期。通过这两种方式,就能完整地验证量化后模型在不同平台的推理结果与性能。对于 PC 测试而言,上述 Python 脚本非常直接;对于嵌入式,则需运用目标厂商的工具(如 STM32Cube.AI)或。 阅读详情

上篇讲述如何把tensorflow模型转换成tflite模型,用于部署到移动端。

这篇分享如何在PC端对tflite模型进行预测,测试模型是否可用

首先,加载tflite模型,查看模型的输入输出

import numpy as np
import tensorflow as tf
import cv2

# Load TFLite model and allocate tensors.
interpreter = tf.lite.Interpreter(model_path="newModel.tflite")
interpreter.allocate_tensors()

input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

print(input_details)
print(output_details)

打印结果:

[{'name': 'input_1', 'index': 115, 'shape': array([  1, 224, 224,   3]), 'dtype': <class 'numpy.float32'>, 'quantization': (0.0, 0)}]
[{'name': 'activation_1/truediv', 'index': 6, 'shape': array([    1, 12544,     2]), 'dtype': <class 'numpy.float32'>, 'quantization': (0.0, 0)}]

从input details里可看到,需要输入的numpy数组 [1, 224, 224, 3],数据类型为float32。
index:115的意思,我理解是传入数据放置的位置

于是我们需要这里处理下input的数据,为了方便,我把数据预存成csv文件了,取出来能直接使用

input_data = np.loadtxt('C:/Users\WIN10/input.csv',delimiter=',')
input_data = input_data.reshape(1,224,224,3)
input_data = input_data.astype(np.float32)
index = input_details[0]['index']
interpreter.set_tensor(index, input_data)

这样就把input数据设置好了,并且把数据传入网络模型

开始做预测:

interpreter.invoke()

读出预测结果

output_data = interpreter.get_tensor(output_details[0]['index'])
print('output_data shape:',output_data.shape)

output_data就是预测结果的源数据,print出来的shape就是上面output_detail 里的shape[ 1, 12544, 2]

最后还需要对预测的源数据进行后处理,解析出我们要的结果,这里每个工程的都不一样,仅供参考。

output_data = output_data.reshape(224,112)
pr = output_data.reshape(112,112,2).argmax( axis=2 )
seg_img = np.zeros( ( 112 , 112 , 3  ) )
seg_img[:,:,0] += ((pr[:,: ] == 1 )*200).astype('uint8')
seg_img[:,:,1] += ((pr[:,: ] == 1 )*200).astype('uint8')
seg_img[:,:,2] += ((pr[:,: ] == 1 )*200).astype('uint8')
cv2.imshow('img',seg_img)
cv2.waitKey(0)
tflite模型测试 tflite模型和pb一样都需要测试,仅仅转换成功只是其中的一步,如果测试结果很差劲,就有可能转换过程中有问题,这个问题就多了,比如模型问题、有些Op问题、UNIT8/FLOAT问题,不可预知。无论哪个环节出现问题,都有可能需要重头再来!!比如换模型,后果不堪设想。 我之前提到过,这里也再说一次,目前tf RNN尚不能直接转为tflite,只有按照官方给的trick才可以,GRU是死都不能转的。... 阅读详情

相关推荐

怎么将tflite部署在安卓上_tensorflow从训练自定义CNN网络模型到Android端部署tflite...

网上有很多关于tensorflow lite在安卓端部署的教程,但是大多只讲如何把训练好的模型部署到安卓端,不讲如何训练,而实际上在部署的时候,需要知道训练模型时预处理的细节,这就导致了自己训练的模型在部署到安卓端的时候出现各种问题。因此,本文会记录从PC端训练、导出到安卓端部署的各种细节。欢迎大家讨论、指教。PC端系统:Ubuntu14tensorflow版本:tensroflow1.14安卓版...

weixin_36481714的博客 573

tensorflow2.x中的量化感知训练以及tflite的x86端测评

tensorflow 2.x的模型训练结束后一般保存为.h5或save_model的模型格式(只能是fp32格式),如果模型想要部署在移动端,一般需要将模型转换为.tflite格式,这里又分为动态格式、fp32格式、fp16格式和int8格式的tflite【1】。一般而言,如果直接将fp32的h5转换为int8格式的tflite会存在精度下降,为了尽量减少转换过程中的精度下降,可选的方式是在转换前对模型进行量化感知训练。具体办法是在权重保持fp32的情况下,按照int8量化的需求进行训练,之后再正式进行in

BIT_Legend的博客 2783

安卓端YOLO26模型部署:TFLite与QNN硬件加速实战指南

目标检测是计算机视觉的核心任务之一,旨在识别图像或视频中的物体并定位其位置。其原理通常基于深度卷积神经网络,通过提取图像特征并预测边界框与类别。这项技术对于实现设备端智能至关重要,它能在保护数据隐私的同时提供实时响应。在移动端部署高性能模型,尤其是YOLO系列的最新变体,面临着平衡精度与速度的挑战。通过利用TensorFlow Lite(TFLite)这一轻量级推理框架,可以将训练好的模型高效转换为移动端格式。为了进一步释放硬件潜能,可以集成如高通神经处理SDK(QNN)等硬件加速委托,将计算任务卸载到专用

weixin_30326515的博客 451

深度学习:pc端测试tflite模型

本文主要提供一种在PC端测试 .tflite模型方法。

weixin_42565090的博客 1625

详解 TensorFlow TFLite 移动端(安卓)部署物体检测 demo(2)——量化模型

详解 TensorFlow TFLite 移动端(安卓)部署物体检测 demo

Abandon_first的博客 3252

从TFLite到KModel:使用nncase实现高效模型转换的完整指南

本文详细介绍了如何使用nncase工具将TFLite模型高效转换为KModel格式,适用于Kendryte K210等边缘计算芯片。通过环境准备、基础转换流程、常见报错解决方案和高级优化技巧,帮助开发者实现模型体积压缩和性能提升,特别适合嵌入式AI开发场景。

weixin_29051245的博客 358

深度学习模型部署框架之tflite

本文是深度学习模型部署框架的第二篇,更多部署框架可以查看本专栏的其他文章。概念:TensorFlow Lite 是TensorFlow在移动和嵌入式设备上的轻量级推理框架,专门针对资源受限的环境进行了优化,以便在手机、嵌入式设备上运行深度学习模型。优势:缩减了模型的大小和功耗,适合嵌入式等资源受限的设备。坑点:tfl 目前主要支持 cnn 相关的算子 ,对 rnn 等其他网络中的算子还没有很好的支持。对自家的tf框架支持比较好,对于其他框架支持不佳。

心流的博客 2414

TFlite_android_test:Tensorflow-lite移动端测试自己的模型

TFlite_android_test 从移动端本地读取测试集进行预测,将预测结果以txt保存在本地,同时计算每类的精确率和召回率在终端显示

车牌识别——AidLux2023年2月智慧社区AI实战训练营

AidLux2023年2月智慧社区AI实战训练营的车牌识别项目

darwintk的博客 489

TFLite-Tester:示例项目展示了我们如何比较TensorFlow和TensorFlow Lite模型

TFLite测试仪 该示例项目显示了多种测试TensorFLow Lite模型的不同方法。 它包含以下代码: 将TensorFlow转换为TensorFlow Lite模型 并排比较TF和TF Lite模型(包括训练后量化) 使用Espresso库在Android应用程序上运行自动化测试。 有关更多详细信息,请检查: 博客文章(在Colab笔记本中进行): 博客文章(在Android仪器测试中进行测试): 使用具体功能将TensorFLow模型转换为TensorFLow Lite: ://www.tensorflow.org/lite/r2/convert/concrete_func

ArcGIS基础:城市交通网络构建及设施服务分析(一):道路数据处理与拓扑操作

首先需要加载数据, 1:选择这个数据库:,右键导入,选择导入单个要素,弹出“要素类至要素类” 2:输出位置(导入的数据是CAD格式数据)。 3:输出要素类为道路。 4:字段只保留道路类型字段。 这个操作是分类合并各级道路数据。 1:通过属性选择各类道路数据。 2:比如此类都是“干道”。 3:编辑器下来,然后合并即可。 得到如图所示,需要用到三个字段。 上面这个操作是打断道路相交线。 1:选中所有数据。 2:找到高级编辑中的打断相交线。 3:确定即可。 下面进行拓扑检查,虽然我们已经进行合并和打断相交.

yuanYW7556的博客 2万+

python调用tflite模型

制作frozen模型 模型制作参考前面的一篇博客《tensorflow 20:搭网络、导出模型、运行模型》。主要就是两层卷积和两层全连接用来识别mnist数据集,保存为frozen模型文件。 转换为tflite模型 非量化转换 转换代码: # -*- coding:utf-8 -*- import tensorflow as tf in_path = "./model/frozen_graph.pb" out_path = "./model/frozen_graph.tflite" # out_path

juluwangriyue的博客 5626

BLE天线设计避坑:NRF52832官方50欧姆阻抗匹配的3个常见误区

本文深入解析NRF52832蓝牙SoC天线设计中的常见误区,重点探讨50欧姆阻抗匹配的3个关键问题:PCB板材介电常数差异、匹配元件寄生参数及VSWR测试。通过实测数据和优化方案,帮助工程师规避设计陷阱,提升BLE通信性能。

beer8的博客 214

如何把Tensorflow模型转换成TFLite模型

深度学习迅猛发展,目前已经可以移植到移动端使用了,TensorFlow推出的TensorFlow Lite就是一款把深度学习应用到移动端的框架技术。 使用TensorFlowLite 需要tflite文件模型,这个模型可以由TensorFlow训练的模型转换而成。所以首先需要知道如何保存训练好的TensorFlow模型。 一般有这几种保存形式: Checkpoints HDF5 SavedM...

DvLee 9631

CanOpen PDO映射实战:从原理到配置的完整指南

本文详细解析了CanOpen PDO映射的原理与配置流程,从基础通信机制到实战配置步骤,涵盖禁用PDO、清空映射、逐项映射和使能PDO等关键环节。特别针对西门子G120变频器、台达伺服和倍福CX控制器等不同厂商设备,提供了具体的配置技巧和常见问题排查指南,帮助工程师快速掌握多厂商设备间的PDO通信配置。

weixin_30718391的博客 516

手把手教你用STM32CubeMX配置Bootloader:从分区设置到跳转逻辑详解(含完整代码示例)

本文详细介绍了如何使用STM32CubeMX配置STM32 Bootloader,从基础概念到完整实现。涵盖Flash分区设置、跳转逻辑、固件升级协议设计等关键步骤,并提供完整代码示例。适合嵌入式开发者快速掌握Bootloader开发技巧,提升STM32固件升级能力。

weixin_29169505的博客 283

MobileFaceNet模型转换实战:从CKPT到TFLite的完整指南

本文提供了将MobileFaceNet模型从TensorFlow的CKPT格式转换为TFLite格式的完整实战指南。详细解析了模型冻结、格式转换的核心步骤,包括关键配置修改、脚本编写、优化选项设置以及转换后的验证方法,旨在帮助开发者高效地将人脸识别模型部署到移动和嵌入式设备上。

python9snake的博客 354

Unity中5分钟实现3D高斯泼溅渲染:从原理到实战部署

3D高斯泼溅(3D Gaussian Splatting)是一种新兴的神经渲染技术,它通过显式地使用大量3D高斯椭球来表示场景,革新了传统的体渲染和神经辐射场(NeRF)方法。其核心原理是将这些3D高斯投影到2D屏幕并进行快速光栅化与Alpha混合,从而绕过了耗时的光线步进,实现了极高的渲染效率。这项技术的价值在于,它能够在消费级GPU上达到实时甚至超实时的帧率,同时保持紧凑的数据表达和惊人的视觉细节,极大地降低了高质量3D重建与渲染的门槛。在应用场景上,它正快速渗透到数字孪生、虚拟现实、文化遗产数字化以及

weixin_29474431的博客 272

DAMOYOLO-S模型Android端部署全记录:从PC训练到App上线

本文介绍了如何在星图GPU平台上自动化部署DAMOYOLO-高性能通用检测模型-S镜像,实现移动端AI应用开发。该平台简化了从模型训练到部署的流程,用户可快速构建基于此轻量检测模型的安卓应用,典型应用于手机端的实时物体识别与检测场景,如智能安防、辅助驾驶等。

weixin_35705784的博客 212

TIM 2024 | AD-YOLO:一种结合 Swin Transformer 和注意力机制的实时 YOLO 网络用于机场场景检测

实时获取机场场景信息对于保障机场安全和提升机场运营效率至关重要。然而,机场场景图像中的人员和车辆目标尺寸较小,而且公开的机场数据不足,这使得机场物体检测成为一项颇具挑战的任务,难以同时实现高精度和实时检测。本文提出了一种全新的机场物体检测方法——机场检测器YOLO(AD - YOLO),它融合了改进的你只看一次(YOLO)算法、Swin Transformer和注意力机制的优势,以应对这一挑战。

小白学视觉 314

华为OD机考双机位C卷 - 斗地主之顺子 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 斗地主之顺子(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 9692

算法模型在Aidlux端的模型推理测试实现详解

算法模型在Aidlux端的模型推理测试实现详解

m0_54361461的博客 1278

PyTorch深度学习实战(6)——神经网络性能优化技术

神经网络性能优化技术是指通过改进神经网络的结构、参数初始化、正则化和训练过程等方面来提高其性能和泛化能力的方法。优化技术的选择和调试需要根据具体问题进行,通过不断实验和调整,找到最适合网络的优化策略。本节首先训练了一个简单的全连接网络,然后在此基础上介绍了简单有效的神经网络性能提升技巧。

盼小辉丶的博客 1万+

TensorFlow TFLite嵌入式AI部署实战:从模型量化到树莓派推理

模型量化是一种通过降低数值精度来压缩神经网络模型的关键技术,其核心原理是将高精度浮点参数转换为低精度整数表示,从而在保持模型功能的同时大幅减少存储需求和计算开销。这项技术对于在资源受限的嵌入式设备上部署AI模型具有重要价值,能够有效解决内存不足和推理延迟等工程挑战。在实际应用中,模型量化通常与TensorFlow Lite工具链结合,通过动态范围量化和全整数量化等策略,将训练好的模型转换为高效的.tflite格式,适用于树莓派等边缘计算场景。本文以TFLite框架为例,详细阐述了从模型训练、量化转换到嵌入式

weixin_33859231的博客 550

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Tensorflow目标检测接口配合tflite量化模型

1. 部署环境: 在PC上安装CUDA10和对应cuDNN,网上教程很多,这里不再累赘, 推荐使用conda集成环境,1. 新建python环境,2. 安装tensorflow-gpu=1.13, TensorFlow对象检测API需要使用其GitHub存储库中提供的特定目录结构, 所以第三步:从GitHub下载TensorFlow对象检测API存储库(下载TF V1.13版本,这里要与我们Pyt...

https://shixuebin.gitee.io/hexo-blog/ 2667

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 如何把Tensorflow模型转换成TFLite模型
下一篇: Yolo v3 学习笔记摘录
Hi David
博客等级 码龄17年 5195粉丝 84原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi David

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值