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利用QQ邮箱发送邮件的实现方法(分享)
Jun 09 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
Ubuntu18.04下python版本完美切换的解决方法
Jun 14 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
centos7之Python3.74安装教程
Aug 15 Python
10个Python面试常问的问题(小结)
Nov 20 Python
python 实现Flask中返回图片流给前端展示
Jan 09 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
Python xlrd模块导入过程及常用操作
Jun 10 Python
如何用Python和JS实现的Web SSH工具
Feb 23 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程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
判定是否原生方法的JS代码
2013/11/12 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
js密码强度检测
2016/01/07 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
JS、jQuery中select的用法详解
2016/04/21 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
python实现每次处理一个字符的三种方法
2014/10/09 Python
python中requests模块的使用方法
2015/04/08 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
python实现最小二乘法线性拟合
2019/07/19 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
高级文秘工作总结的自我评价
2013/09/28 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
财务方面个人工作的自我评价
2013/12/28 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript