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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
在Python中使用异步Socket编程性能测试
Jun 25 Python
python从sqlite读取并显示数据的方法
May 08 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
简单瞅瞅Python vars()内置函数的实现
Sep 27 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
Oct 24 Python
python 解压、复制、删除 文件的实例代码
Feb 26 Python
django的模型类管理器——数据库操作的封装详解
Apr 01 Python
Python中logging日志的四个等级和使用
Nov 17 Python
Python破解极验滑动验证码详细步骤
May 21 Python
Python3的进程和线程你了解吗
Mar 16 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使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
JS实现购物车特效
2017/02/02 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
python自定义异常实例详解
2017/07/11 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
关于幼儿的自我评价
2013/12/18 职场文书
会计系个人求职信范文分享
2013/12/20 职场文书
施工质量承诺书范文
2014/05/30 职场文书
计算机网络专业求职信
2014/06/05 职场文书
搬迁通知
2015/04/20 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS