Tensorflow 模型转换 .pb convert to .lite实例


Posted in Python onFebruary 12, 2020

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

以上这篇Tensorflow 模型转换 .pb convert to .lite实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现简单状态框架的方法
Mar 19 Python
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
Python通过递归获取目录下指定文件代码实例
Nov 07 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
python爬虫实现获取下一页代码
Mar 13 Python
Django ModelForm操作及验证方式
Mar 30 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 Python
Python Pandas pandas.read_sql_query函数实例用法分析
Jun 21 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 #Python
关于Tensorflow 模型持久化详解
Feb 12 #Python
Python qrcode 生成一个二维码的实例详解
Feb 12 #Python
python标准库sys和OS的函数使用方法与实例详解
Feb 12 #Python
python标准库os库的函数介绍
Feb 12 #Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 #Python
Python django框架开发发布会签到系统(web开发)
Feb 12 #Python
You might like
十天学会php之第四天
2006/10/09 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
PHP使用in_array函数检查数组中是否存在某个值
2015/03/25 PHP
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
input框中的name和id的区别
2016/11/16 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
用实例分析Python中method的参数传递过程
2015/04/02 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
2019/04/05 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
小学端午节活动方案
2014/03/13 职场文书
霸气队列口号
2014/06/18 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
2016教师节感恩话语
2015/12/09 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
MySQL Shell的介绍以及安装
2021/04/24 MySQL
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang