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 相关文章推荐
利用Psyco提升Python运行速度
Dec 24 Python
Python命令行参数解析模块optparse使用实例
Apr 13 Python
python获取list下标及其值的简单方法
Sep 12 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
PyQt5每天必学之弹出消息框
Apr 19 Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
Python爬虫之pandas基本安装与使用方法示例
Aug 08 Python
Python中的asyncio代码详解
Jun 10 Python
Python3实现配置文件差异对比脚本
Nov 18 Python
Python序列类型的打包和解包实例
Dec 21 Python
python中reload重载实例用法
Dec 15 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源代码
2009/08/21 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
PHP实现小偷程序实例
2016/10/31 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
Python实现学生成绩管理系统
2020/04/05 Python
python读取中文txt文本的方法
2018/04/12 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python持续监听文件变化代码实例
2020/07/22 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
英国著名药妆店:Superdrug
2021/02/13 全球购物
国际经济贸易专业推荐信
2013/11/06 职场文书
村官学习十八大感想
2014/01/15 职场文书
运动会广播稿100字
2015/08/19 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
pytorch MSELoss计算平均的实现方法
2021/05/12 Python
Python异常类型以及处理方法汇总
2021/06/05 Python
2021年最新用于图像处理的Python库总结
2021/06/15 Python
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python
关于MySQL中explain工具的使用
2023/05/08 MySQL