tensorflow模型转换成tensorflow lite模型

TFlite模型转换和使用 TFlite 的简单使用 阅读详情

1.把graph和网络模型打包在一个文件中

  bazel build tensorflow/python/tools:freeze_graph && \
  bazel-bin/tensorflow/python/tools/freeze_graph \
  --input_graph=eval_graph_def.pb \
  --input_checkpoint=checkpoint \
  --output_graph=frozen_eval_graph.pb \
  --output_node_names=outputs

For example:

 bazel-bin/tensorflow/python/tools/freeze_graph \ 
  --input_graph=./mobilenet_v1_1.0_224/mobilenet_v1_1.0_224_eval.pbtxt \
  --input_checkpoint=./mobilenet_v1_1.0_224/mobilenet_v1_1.0_224.ckpt \
  --output_graph=./mobilenet_v1_1.0_224/frozen_eval_graph_test.pb \
  --output_node_names=MobilenetV1/Predictions/Reshape_1

2.把第一步中生成的tensorflow pb模型转换为tf lite模型

转换前需要先编译转换工具

bazel build tensorflow/contrib/lite/toco:toco

转换分两种,一种的转换为float的tf lite,另一种可以转换为对模型进行unit8的量化版本的模型。两种方式如下:

非量化的转换:

./bazel-bin/third_party/tensorflow/contrib/lite/toco/toco \ 官网给的这个路径不对                                                     
./bazel-bin/tensorflow/contrib/lite/toco/toco \                                                                    
  —input_file=./mobilenet_v1_1.0_224/frozen_eval_graph_test.pb \                
  —output_file=./mobilenet_v1_1.0_224/tflite_model_test.tflite \                
  --input_format=TENSORFLOW_GRAPHDEF --output_format=TFLITE \                                                      
  --inference_type=FLOAT \                                                                                        
  --input_shape="1,224, 224,3" \                                                                                  
  --input_array=input \                                                                                            
  --output_array=MobilenetV1/Predictions/Reshape_1 

量化方式的转换(注意,只有量化训练的模型才能进行量化的tf_lite转换):

./bazel-bin/third_party/tensorflow/contrib/lite/toco/toco \
./bazel-bin/tensorflow/contrib/lite/toco/toco \
  --input_file=frozen_eval_graph.pb \
  --output_file=tflite_model.tflite \
  --input_format=TENSORFLOW_GRAPHDEF --output_format=TFLITE \
  --inference_type=QUANTIZED_UINT8 \
  --input_shape="1,224, 224,3" \
  --input_array=input \
  --output_array=outputs \
  --std_value=127.5 --mean_value=127.5

Reference:
https://tensorflow.google.cn/performance/quantization
https://www.tensorflow.org/mobile/tflite/devguide

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

相关推荐

Pytorch与深度学习 #10.PyTorch训练好的模型如何部署到Tensorflow环境中

在这个AI时代,各大厂商都在主推自家的AI框架,因此知名和不知名的大大小小可能十来种。但是我们选型的时候,一般首先考虑是Google家的Tensorflow呢还是Meta家的Pytorch。

老程的技术笔记 1220

tensorflow 转换为tansorflow lite

(3).saved_model.pb 文件: 这是 SavedModel 格式的主文件,包含了模型的架构(图结构)、签名信息和其他与模型有关的元数据。(2).variables 文件夹: 包含模型的权重文件,即训练期间学到的模型参数。(1). assets 文件夹: 如果你的模型包含自定义资源,例如外部数据文件、文本文件等,这些资源将被保存在 assets 文件夹中。(4).keras_metadata.pb 文件: 保存了与 Keras 模型相关的元数据,例如模型的配置信息。

qq_43686787的博客 344

TensorFlow Lite源码解析之一

每一个成功的人工智能背后,都有一个摸摸推理的引擎。想知道TFLite是怎么工作的么,戳我了解更多!

SunnyZhou-1024的博客 2107

Tensorflow pb模型转tflite,并量化

tensorflow lite 量化

DongHappyyy 3968

tensorflow模型移植到Android手机上 tensorflow lite 的应用

tensorflow 练完模型后 应用的时候 想放在终端运行 google官方给了一个解决方案 这一是未来的趋势 通过tensorflow lite 来做 本人会安卓 所以自己探索出应用的过程: 1.用tensorflow2.0训练车自己的模型 这个过程用python 这里不做示例 2.训练后注意保存一定要保存成文件夹方便后续操作: cpcallback=tf.keras.callbacks.ModelCheckpoint(filePath,save_weights=True) model...

qq_28641891的博客 2039

TensorFlow Lite之CNN推理

TensorFlow Lite 中使用 CNN 模型进行推理的规则大致遵循以下步骤。

m0_63867628的博客 2571

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

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

寒冰屋的专栏 1573

FANUC机器人电弧跟踪功能深度解析:从电流采样原理到ROBOGUIDE仿真避坑指南

本文深度解析FANUC机器人电弧跟踪技术,从电流采样原理到ROBOGUIDE仿真避坑指南,详细介绍了电流波形分析、实时补偿机制及现场调试技巧。针对工业焊接中的常见问题,提供从底层原理到高阶应用的解决方案,帮助工程师优化自动化焊接质量。

weixin_31785177的博客 547

如何将keras训练的模型转换成tensorflow lite模型

背景 keras是一个比较适合初学者上手的高级神经网络API,它能够以TensorFlow, CNTK, 或者 Theano作为后端运行。而keras训练完的模型是.h5文件,如果想要在移动端运行模型需要tflite模型文件 实现 附上从github上找到的一段转换代码,但是要稍作修改 # coding: utf-8 # In[ ]: ''' Input arguments: num_outp...

weixin_34203426的博客 1653

PCIe 6.0实战指南:从链路训练到信号完整性的避坑手册

本文是一份针对PCIe 6.0硬件工程师的实战避坑指南。文章深入解析了从NRZ到PAM4调制带来的信号完整性挑战,详细拆解了链路训练(LTSSM)的复杂过程与调试方法,并提供了从信道仿真到实验室实测(如使用Keysight示波器进行眼图与误码率分析)的完整信号完整性闭环验证策略,帮助工程师解决高速率下的链路不稳定与降速问题。

weixin_29306875的博客 341

大华摄像头GB28181协议接入EasyCVR全流程(附常见错误排查)

本文详细阐述了大华摄像头通过GB28181协议接入EasyCVR视频管理平台的全流程,涵盖从核心原理、前期参数规划、Web界面配置到平台侧验证的完整步骤。重点针对网络端口、SIP参数配置等关键环节提供了深度排错指南,并总结了设备无法注册、在线不稳定、拉流失败等常见问题的排查思路与解决方案,旨在帮助安防工程师与系统集成商高效完成设备接入与调试。

weixin_29279153的博客 307

object detection模型转换成TensorFlow Lite,在Android应用

环境 tensorflow = 1.12.0 bazel = 0.18.1 ubuntu = 16.04 python = 3.6.2 安装 bazel (0.18.1) 如果tensorflow是1.12.0,那么必须安装指定版本0.18.1的bazel,不然会出现很多的错误无法解决。 wget https://github.com/bazelbuild/bazel/release...

weixin_30776273的博客 422

SuperPoint与SuperGlue的C++ TensorRT工程化实战:从理论到部署的完整指南

本文详细介绍了如何将SuperPoint和SuperGlue算法通过C++和TensorRT进行工程化部署,从模型准备、格式转换到TensorRT引擎构建和C++推理实现。通过性能优化技巧和实际应用案例,展示了在边缘设备上实现实时特征匹配的完整流程,显著提升处理速度与效率。

weixin_42537831的博客 159

pytorch模型转到TensorFlow lite:pytorch->onnx->tensorflow->tensorflow lite

现在很多算法都是用pytorch框架训练的,但是在移动端部署很多又使用TensorFlow lite,因此需要将pytorch模型转换到TensorFlow lite。 将pytorch模型转到TensorFlow lite的流程是pytorch->onnx->tensorflow->tensorflow lite,本文记录一下踩坑的过程。 1、pytorch转onnx 这一步比较简单,使用pytorch自带接口就行。不过有一点需要注意的,就是opset版本,可能会影响后续的转换。

qiumokucao的博客 6965

【数电课程设计】---出租车计价器

文章目录1、任务要求2、方案3、收获 1、任务要求 2、方案 3、收获

LZY 1万+

强化学习_06_pytorch-TD3实践(BipedalWalkerHardcore-v3)

DDPG的critic会高估, 从而导致actor策略失败。TD3是增加了三个关键技巧优化DDPG。经过优化后的TD3(Twin Dalayed DDPG 双延迟深度确定性策略梯度算法)适合于具有高维连续动作空间的任务。

RL小站 2689

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

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

gitblog_01268的博客 2101

如何绘制电气绝缘图(GB9706.1-2007和GB9706.1-2020差异)

是用来描述要考虑设备的绝缘状况和它们的值 ,从而便于和相关部门交流和沟通,如权威机构和检测实验室等。本文为绝缘图的实例, 包括所有相关的绝缘路径以及介电强度,爬电距离和电气间隙的值。

学海无涯的专栏 1万+

使用TensorFlow Lite在Android手机上实现图像分类

TensorFlow Lite是一款专门针对移动设备的深度学习框架,移动设备深度学习框架是部署在手机或者树莓派等小型移动设备上的深度学习框架,可以使用训练好的模型在手机等设备上完成推理任务。这一类框架的出现,可以使得一些推理的任务可以在本地执行,不需要再调用服务器的网络接口,大大减少了预测时间。在前几篇文章中已经介绍了百度的paddle-mobile,小米的mace,还有腾讯的ncnn。这在本章中我们将介绍谷歌的TensorFlow Lite。

夜雨飘零 2万+

【异常】Claude CLI / Claude Code 命令行工具 “claude 不是内部或外部命令“ 报错完整解决方案

摘要:Windows系统执行Claude命令报错"'claude'不是内部或外部命令",主要原因是环境变量配置问题。解决方案包括:1)通过npm全局安装时需加-g参数并重启终端;2)检查Node.js环境及npm全局路径是否加入系统PATH;3)对于Claude Code独立安装版,需手动添加.local/bin路径到环境变量。常见错误包括安装不完整、权限不足或路径未自动配置,按照对应场景排查即可解决。

奶爸的编程之路,也就一周冷个三天 7809

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

基于Tensorflow2 Lite在Android手机上实现图像分类

Tensorflow2之后,训练保存的模型也有所变化,基于Keras接口搭建的网络模型默认保存的模型是h5格式的,而之前的模型格式是pb。Tensorflow2的h5格式的模型转换成tflite格式模型非常方便。本教程就是介绍如何使用Tensorflow2的Keras接口训练分类模型并使用Tensorflow Lite部署到Android设备上。

夜雨飘零 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【TF lite】从tensorflow模型训练到lite模型移植

前言 本文使用tensorflow下的ssdlite-mobilenet v2物体检测模型,并转换为tflite模型,并完成测试 1. 安装 TensorFlow Object Detection API 1.1 下载tensorflow-master和models-master 下载地址分别为https://github.com/tensorflow/tensorflow和https:/...

lukaslong的博客 5250

jre9下载 jdk9

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

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

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

DvLee 9631

【Tensorflow教程笔记】TensorFlow Lite

Tensorflow教程笔记 基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeline 自定义层、损失函数和评估指标 常用模块 tf.train.Checkpoint :变量的保存与恢复 常用模块 TensorBoard:训练过程可视化 常用模块 tf.data :数据集的构建与预处理 常用模块 TFRecord :TensorFlow 数据集存储格式 常用

nanke_4869的博客 6836

ESP32 & Tensorflow Lite (二)TensorFlow Lite Hello World

这篇文章将介绍使用 TensorFlow Lite for Microcontrollers 的基础知识。它包括训练模型,将其转换为 TensorFlow Lite 版本使用以及在微控制器上运行的完整的端到端工作流程。

InfiniteYuan 5428
上一篇: onnx与tensorflow格式的相互转换
下一篇: tensorflow batch_normalization的正确使用姿势
IT修道者
IT修道者 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄17年 326粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值