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

TensorFlow Lite源码解析之一 每一个成功的人工智能背后,都有一个摸摸推理的引擎。想知道TFLite是怎么工作的么,戳我了解更多! 阅读详情

深度学习迅猛发展,目前已经可以移植到移动端使用了,TensorFlow推出的TensorFlow Lite就是一款把深度学习应用到移动端的框架技术。

使用TensorFlowLite 需要tflite文件模型,这个模型可以由TensorFlow训练的模型转换而成。所以首先需要知道如何保存训练好的TensorFlow模型。

一般有这几种保存形式:

  1. Checkpoints
  2. HDF5
  3. SavedModel等

保存与读取CheckPoint

当模型训练结束,可以用以下代码把权重保存成checkpoint格式

model.save_weights('./MyModel',True)

checkpoints文件仅是保存训练好的权重,不带网络结构,所以做predict时需要结合model使用
如:

model = keras_segmentation.models.segnet.mobilenet_segnet(n_classes=2, input_height=224, input_width=224)
model.load_weights('./MyModel')

保存成H5

把训练好的网络保存成h5文件很简单

model.save('MyModel.h5')

H5转换成TFLite

这里是文章主要内容

我习惯使用H5文件转换成tflite文件

官网代码是这样的

converter = tf.lite.TFLiteConverter.from_keras_model_file('newModel.h5')
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

但我用的keras 2.2.4版本会报下面错误,好像说是新版的keras把relu6改掉了,找不到方法
ValueError: Unknown activation function:relu6

于是需要自己定义一个relu6

import tensorflow as tf
from tensorflow.python.keras import backend as K
from tensorflow.python.keras.utils import CustomObjectScope

def relu6(x):
  return K.relu(x, max_value=6)

with CustomObjectScope({'relu6': relu6}):
    converter = tf.lite.TFLiteConverter.from_keras_model_file('newModel.h5')
    tflite_model = converter.convert()
    open("newModel.tflite", "wb").write(tflite_model)

看到生成的tflite文件表示保存成功了

也可以这么查看tflite网络的输入输出

import numpy as np
import tensorflow as tf

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

# Get input and output 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)}]

两个shape分别表示输入输出的numpy数组结构,dtype是数据类型

下一篇会分享如何在PC端测试TFLite模型

tensorflow模型转为tflite tensorflow模型转换主要分为:步骤1、步骤2。步骤1最为关键。 1、ckpt转为pb模型 主要步骤参考MobileFaceNet模型转换问题,其它模型转换也是按此步骤,注意输入、输出节点的选择。 转换过程中出现以下错误,应该是batch_norm_params参数设置的问题。应将is_training设置为False,将trainable设置为False Some of the opera... 阅读详情

相关推荐

TFlite模型转换和使用

TFlite 的简单使用

Harry的博客 6144

基于 tensorflow的时间序列温度预测并将模型转换为TFLite格式 (一)

文章目录1 准备数据导入需要的库导入数据划分训练特征和标签参数设置2 单变量单步从数据集中提取温度观察数据随时间变化的情况标准化设置绘图函数将特征和标签切片建模训练模型3 多变量单步从数据集中划分特征和标签压强、温度、密度随时间变化绘图将数据集转换为数组类型并标准化写函数来划分特征和标签将特征和标签切片建模训练模型绘制预测图4 多变量多步从数据集中划分特征和标签将特征和标签切片编写绘图函数建模训练模型绘制温度信息 文章转自:https://www.heywhale.com/mw/project/5fe2f3

@bangbang的博客 3453

31、TensorFlow训练模型转成tfilte,进行python、Android端进行车辆检测、跟踪、部署

基本思想:想写一个Android的车辆检测和跟踪,于是tflite的使用和探索~ ubuntu@ubuntu:~$git clone https://github.com/ultralytics/yolov5.git ubuntu@ubuntu:~$ cd yolo5 ubuntu@ubuntu:~/yolo5$ bash weights/download_weights.sh ubuntu@ubuntu:~/yolo5$ python models/export.py --weights yolov5

sxj731533730 2915

Tensorflow pb模型转tflite,并量化

tensorflow lite 量化

DongHappyyy 3969

桁架 拓扑优化 matlab程序_拓扑优化在结构轻量化及板壳加筋肋最优布置的应用...

1 拓扑优化简介材料的有效利用一直都是人类追求的目标,也是许多研究领域不变的话题,并伴随着结构优化理论和方法的产生而发展。结构优化设计通常分为三个层次:(1)拓扑优化:在一个确定的连续区域内寻求结构内部非实体区域位置和数量的最佳配置,寻求结构中的构件布局及节点联结方式最优化,使结构能在满足应力、位移等约束条件下,将外载荷传递到结构支撑位置,同时使结构的某种性态指标达到最优;(2)形状优化:指在保持...

weixin_39525355的博客 1877

本地AI助手部署指南:DeepSeek Harness与Ollama集成实践

AI Agent作为当前人工智能领域的热门技术,通过模拟人类决策过程,能够自主规划、调用工具并执行复杂任务。其核心原理在于将大语言模型的推理能力与外部工具API相结合,形成可闭环的工作流。这种技术架构的价值在于显著提升了AI系统的实用性和自动化水平,使其从单纯的对话工具转变为能够解决实际问题的智能助手。在应用场景上,AI Agent广泛应用于代码生成、数据分析、自动化办公等领域。本文聚焦于如何通过DeepSeek Harness平台与Ollama本地模型的集成,实现隐私安全、离线可用的AI助手部署方案,特别

dengjuanshou7445的博客 474

将tensorflow训练模型转换成tflite模型在安卓端部署

一、生成.pb文件 如果后续要设计tflite转换,那么需要调用的文件是object_detection下的export_tflite_ssd_graph.py: python export_tflite_ssd_graph.py --input_type image_tensor --pipeline_co nfig_path training/ssdlite_mobilenet_v3_small_320x320_coco.config --trained_checkpoint_prefix traini

qq_45057749的博客 2495

FastAPI + LLM 实战:5分钟搞定本地模型API服务部署(含避坑指南)

本文详细介绍了如何使用FastAPI和LLM(大语言模型)快速部署本地API服务,涵盖环境准备、模型集成、性能优化及避坑指南。通过实战示例,帮助开发者在5分钟内完成从零到生产的部署过程,提升AI应用开发效率。

weixin_29062963的博客 102

怎么将tflite部署在安卓上_将tensorflow训练模型转换成tflite模型在安卓端部署

一、生成.pb文件如果后续要在移动端部署,将模型转换成tflite,那么训练完的模型导出时需要调用文件object_detection下的export_tflite_ssd_graph.py:python export_tflite_ssd_graph.py --input_type image_tensor --pipeline_config_path training/ssdlite_mobi...

weixin_39555715的博客 323

bartender 10.1破解版|bartender条码打印10.1

点击下载出处:BarTender10.1破解版 bartender10.1破解版是一款专业的条码打印软件,在行业内广受好评,通过使用bartender我们可以将标签设计这个复杂的过程变得更简便,在设计中快速调整,即刻打印,非常迅速,BarTender10.1破解版不仅支持的标签类型包括EPC Class 1 、Gen2 、ISO 18000-6b 、ISO 15693 、Tag-It 、I-CO...

weixin_44924147的博客 6万+

一、DMSP/OLS、NPP/VIIRS等夜间灯光数据能源碳排放空间化理论介绍

利用DMSP/OLS、NPP/VIIRS等夜间灯光数据开展能源碳排放空间化之前,需要区分与利用夜间灯光数据GDP空间化,两者操作流程并无较大区别,只是GDP空间化选择夜间灯光指数种类有比较多包括总灯光指数、平均灯光指数、综合灯光指数等,但是能源碳排放过程中通常只选择总灯光指数,其次能源碳排放空间化可能对于某些省份工业相对没有那么发达的区域,构建模型时候拟合效果比较差,也就是R方低一些或者显著性差。针对上述拟合度低的情况诸多学者前辈从多个方面开展研究进行提升。

端木宛白的博客家园 4924

【亲测免费】 使用指南:将TensorFlow Lite模型转换为ONNX(tflite2onnx)

使用指南:将TensorFlow Lite模型转换为ONNX(tflite2onnx) tflite2onnx 是一个专为将 TensorFlow Lite 模型(.tflite)转换成 ONNX 格式(.onnx)而设计的工具。此工具能够妥善处理数据布局和量化语义,确保模型在不同平台上的兼容性和高效运行。以下是详细的使用和技术文档。 安装指南 通过 pip 安装 最简单的方式是通过Python包...

gitblog_01268的博客 2101

ADRC自抗扰PD+ESO控制(博途SCL源代码)

文章浏览阅读119次。线性自抗扰控制(LADRC)系统算法框图-优快云博客文章浏览阅读335次。NLADRC自抗扰控制从Simulink仿真到PLC控制实现_自抗扰控制器 simulink仿真-优快云博客本文介绍了如何将ADRC自抗扰控制算法从Simulink仿真应用到PLC控制中,包括Simulink框图、TD微分器模型、MATLAB函数的使用、SCL控制代码,以及非线性状态误差反馈控制率的实现。ADRC自抗扰PD+ESO控制(CODESYS测试+完整ST代码)-优快云博客。

RXXW_Dor的博客 1315

如何将hdf5文件转换成tflite文件

我们用keras训练模型后,通常保存的模型格式类型为hdf5格式,也就是.h5文件。 但如果我们想要移植到移动端,特别是基于tensorflow支持的移动端,那就需要转换成tflite格式。 如何转换呢?在tensorflow1.9及以上版本,支持通过命令行方式方便进行转换: tflite_convert --output_file=/home/yourname/Documents/te...

weixin_34080571的博客 1300

Open3D 计算点云法向量的夹角【2026最新版】

计算法向量的夹角,博客长期更新,本文最新更新时间为:2026年3月7日。

点云侠的博客 3130

人工智能智能体研究综述:从理论架构到前沿应用

AI Agent,即人工智能智能体,是指能够在特定环境中自主感知、推理、决策并执行行动以实现特定目标的智能系统[1]。自主性反应性主动性(Pro-activeness)和社会性fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;AI Agent核心特征自主性 Autonomy反应性 Reactivity主动性 Pro-activeness。

nmdbbzcl的博客 902

将PyTorch模型转换成TFLite格式教程

模型转换

v15220的博客 1136

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

rv1106 tesorflow 转换测试,转换能够成功,但结果是错误的,

本文介绍了如何使用 TensorFlow 训练 MobileNetV2 模型,并将其转换为 .pb 和 .tflite 格式,最终转换为 RKNN 格式进行推理。尽管模型转换成功,但推理结果错误,目前原因尚未查明。建议使用 Docker 容器进行训练和转换,以避免环境问题。训练过程包括数据预处理、模型构建、训练和导出模型。推理部分展示了如何加载模型并进行预测,同时提供了模型转换为 .pb 文件的代码。

m0_50786932的博客 954

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

究极转换:pth转换kmodel

究极折磨王 提示:这个是自己的笔记,后悔当时为了偷懒,而先学习pytorch后学tensorflow了 文章目录究极折磨王前言一、pth文件转换onnx二、onnx转换pbpb转换tflitetflite转换kmodel 前言 提示:这篇文章引用了大家的思路进行设计,找了网上好多篇文章最后的总结。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pth文件转换onnx 这步没啥可说的,直接上传代码: import torch import torch.onnx from tinynet impo

超炫皮卡的博客 4632

测试使用tensorflow官方量化目标检测模型记录(mobilenet ssd)

1、背景 安卓系统上调用nnapi加速的项目,实测板子使用uint8推理才能最大化利用板子。 2、

luozhichengaichenlei的博客 1381

**tflite2onnx使用手册**

tflite2onnx使用手册 本手册旨在提供一个详细的指南来帮助您理解和使用tflite2onnx这一开源工具,它能够将TensorFlow Lite模型转换成ONNX格式。以下是核心内容模块: 1. 项目目录结构及介绍 tflite2onnx项目遵循典型的Python项目布局,其主要结构大致如下: tflite2onnx/ │ ├── assets # 包含构建后的...

gitblog_00867的博客 992

【Bug解决】TensorFlow saved_model: export failure: can‘t convert cuda:0 device type tensor to numpy.

在使用YOLOv5(6.0版本)时,运行export.py,尝试将pytorch训练pt模型转换成Tensorflow支持tflite模型,然而遇到报错:对于此类问题,作者在issue中的统一回答是:新版本已解决了该问题,请使用新版本。然而,直接使用新版本毕竟不方便,因为在工程中很可能已经做了很多别的修改,使用新版本会直接覆盖这些修改。因此,解决思路是用新版本的修改思路去替换老版本的核心模块。

兴趣使然的创作者 789

Pytorch转tensorflow、tflite,ONNX转为tensorflow、tflite模型

Pytorch模型转tensorflow-keras或者tlite模型,或者ONNX转tensorflow-keras或者tlite模型。

u013666632的博客 6159

Tensorflow模型转换 生成Tflite格式

原文链接:https://blog.youkuaiyun.com/qq_16564093/article/details/78996563 参考google的一个官方例子:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/speech_commands 主要参考里面的train.py代码跟freeze.py代码,分...

INFINALGEORGE的博客 1531

Tensorflow量化步骤及生成量化的tflite(1)

第一部分:Tensorflow量化的安装及使用步骤 一:TensorFlow量化安装 2)。。。。 3)。。。。。 4)。。。。 二:TensorFlow量化使用 2)。。。。 3)。。。。 4)。。。。 可能遇到的问题: ImportError: No module named enum pip install enum34 ImportError: No module named mock ...

angela_12的博客 6509

(六)将样式转换模型从TensorFlow转换为TensorFlow Lite

​ 在本系列文章中,我们将展示一个基于循环一致对抗网络(CycleGAN)的移动图像到图像转换系统。我们将构建一个CycleGAN,它可以执行不成对的图像到图像的转换,并向您展示一些有趣但具有学术深度的例子。我们还将讨论如何将这种使用TensorFlow和Keras构建的训练有素的网络转换为TensorFlow Lite并用作移动设备上的应用程序。 ​

寒冰屋的专栏 1573
上一篇: 如何标注mask用于图像分割模型训练(VIA标注semantic segmentation数据集的mask)
下一篇: 如何在PC端测试转换后的TFLite模型
Hi David
博客等级 码龄17年 5195粉丝 84原创
评论 4
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值