Tensorflow 模型转换 .pb convert to .lite实例
作者:cefengxu 发布时间:2023-08-13 05:19:04
标签:Tensorflow,pb,lite
2017年底,Tensorflow 推出Lite版本,可实现移动端的快速运行,其中,一个很关键的问题,如何把现有分类模型(.pb) 转换为(.lite)模型呢?
其实,步骤如下
1- 进入 Tensorflow 源码文件夹(以便bazel可以无需配置找打相应路径)
2- 转换可执行文件
bazel run --config=opt \
//tensorflow/contrib/lite/toco:toco -- \
--input_file=/tmp/mobilenet_v1_1.0_224_frozen.pb \ # 待转换模型路径
--output_file=/tmp/tflite_model2.tflite \ # 目标模型路径
--input_format=TENSORFLOW_GRAPHDEF \
--output_format=TFLITE \
--input_shape=1,224,224,3 \ # 输入图像宽高
--input_array=input \ # 输入节点名称<参考1>
--output_array=MobilenetV1/Predictions/Reshape_1 \ # 输出节点名称<参考1>
--inference_type=FLOAT \ # 图像数据类型
--input_data_type=FLOAT
参考1: 如果输入输出节点不知道:进入python,import tf ,并通过如下命令( tf.GraphDef() )查找:
>>> import tensorflow as tf
>>> gf = tf.GraphDef()
>>> gf.ParseFromString(open('/your/path/to/graphname.pb','rb').read())
>>> for n in gf.node:
>>> print ( n.name +' ===> '+n.op )
参转换后,在android手机上运行,在不考虑精度的前提下,不同实现方式得到的结果如下:
模型 | type | model size | speed |
---|---|---|---|
mobilenet-v1-224 | .pb | 17 mb | 106 ms |
mobilenet-v1-224 | .lite | 16.4 mb | 72 ms |
来源:https://blog.csdn.net/u011292539/article/details/80484444


猜你喜欢
- 一、ZeroMQ概述 ZeroMQ(又名ØMQ,MQ,或zmq)像一个可嵌入的网络库,但其作用就像一个并发框
- 首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便
- 1.要求数据库存储通讯录,要求按姓名/电话号码查询,查询条件只有一个输入入口,自动识别输入的是姓名还是号码,允许模糊查询。2.实现功能可通过
- 俗话说‘人生苦短,我有Python',但是如果初学Python的过程中碰到包和Python版本的问题估计会让你再苦一会,我在学习Py
- 最近遇到了Python访问SqlServer的问题,这里总结下。一、Windows下配置Python访问Sqlserver环境:Window
- 一行代码实现灰度图抠图抠图是ps的最基本技能,利用python可以实现用一行代码实现灰度图抠图。基础算法是确定图像二值化分割阈值的大津法,将
- JWT是一种JSON的行业标准,广泛应用在系统的用户认证方面。JWT认证简介JWT(JSON Web Tokens),是为了在网络应用环境间
- 问题描述有时在遇到一个文本需要统计文本内词汇的次数 的时候 ,可以用一个简单的python程序来实现。解决方案首先需要的是一个文本文件(.t
- 没有gpu,改用cpu跑代码以为很麻烦的修改,很大动干戈的改动,以及无止尽的报错,结果,就改动代码中的device就OK了,惊不惊喜,意不意
- 1.MyBatis简介与配置MyBatis+Spring+MySql1.1MyBatis简介
- 本文实例讲述了js选项卡的实现方法。分享给大家供大家参考。具体分析如下:一、思路1. 获取元素;2. for循环按钮元素添加onclick(
- 今天遇到多条件搜索,其中需要用到in查询,但是laravel不支持 [ 'type', 'in', '
- 设计一个算法,将URL转换成5部分,分别是:schema、netloc、path、query_params、fragment。问题URL的中
- 一、Pytest简介Pytest is a mature full-featured Python testing tool that he
- 1. 语句块:{ }之间的部分即为BLOCK语句块。2. 条件语句:if ( expression ) BLOCK;if ( e
- 本文实例为大家分享了python读取视频流提取视频帧的具体代码,供大家参考,具体内容如下方法一:通过imageio库和skimage库1.
- 本文实例讲述了python实现简单温度转换的方法。分享给大家供大家参考。具体分析如下:这是一段简单的python代码,用户转换不同单位的温度
- import模块时有错误红线的解决 前情提要概念:在一个文件中代码越长越不容易维护,为了编写可维护的代码,我们把很多函数分组,分别
- 之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图。原来使用的Web
- 本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法。分享给大家供大家参考,具体如下:我的图片放在E:\image\中