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 的 Socket 编程
Mar 24 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 Python
python 数据提取及拆分的实现代码
Aug 26 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
python反编译教程之2048小游戏实例
Mar 03 Python
Python列表删除重复元素与图像相似度判断及删除实例代码
May 07 Python
python程序的组织结构详解
Dec 06 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/09/30 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
destoon各类调用汇总
2014/06/20 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python3 socket同步通信简单示例
2017/06/07 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
深入了解Python在HDA中的应用
2019/09/05 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
介绍一下.net和Java的特点和区别
2012/09/26 面试题
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
仓库班组长岗位职责
2013/12/12 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
学历公证书范本
2014/04/09 职场文书
2014年个人年终总结
2015/03/09 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书