tensorflow转换ckpt为savermodel模型的实现


Posted in Python onMay 25, 2020

ckpt转换成SavedModel

convert_ckpt_to_savermodel.py

import tensorflow as tf
import sys
 
trained_checkpoint_prefix = sys.argv[1]
export_dir = sys.argv[2]
graph = tf.Graph()
config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)
with tf.compat.v1.Session(graph=graph, config=config) as sess:
  # Restore from checkpoint
  loader = tf.compat.v1.train.import_meta_graph(trained_checkpoint_prefix + '.meta')
  loader.restore(sess, trained_checkpoint_prefix)
 
  # Export checkpoint to SavedModel
  builder = tf.compat.v1.saved_model.builder.SavedModelBuilder(export_dir)
  builder.add_meta_graph_and_variables(sess, [tf.saved_model.TRAINING, tf.saved_model.SERVING], strip_default_attrs=True)
  builder.save()

假设已经生成了ckpt模型

checkpoint hello_model.data-00000-of-00001 hello_model.index hello_model.meta

python ./convert_ckpt_to_savermodel.py hello_model ./save

会在save目录下生成

save
├── saved_model.pb
└── variables
├── variables.data-00000-of-00001
└── variables.index

补充知识:tensorflow serving模型转换

tf serving是一款灵活的高性能机器学习服务系统,专为生产环境而设计。通过它可以轻松部署新算法和实验,同时保持服务框架和API不变。它提供了与tensorflow模型的即是可用集成,但很容易扩展以便服务其他类型的模型和数据。

tf serving的安装过程这里不多说,大家可以百度。

此处主要介绍tensorflow模型在docker中转换时的修改内容。

修改inception_saved_model.py文件中的内容,主要包括:image_size,NUM_CLASSES,SYNSET_FILE,METADATA_FILE变量的内容,必要时修改model_version,NUM_TOP_CLASSES。

修改inception_model.py文件中的内容,包括从nets文件夹中导入所需网络的信息,修改inference函数中对应的网络名称。

from nets.inception_v1 import inception_v1, inception_v1_arg_scope

with slim.arg_scope(inception_v1_arg_scope()):
  logits, endpoints = inception_v1(
     images,
     dropout_keep_prob=0.8,
     num_classes=num_classes,
     is_training=for_training,
     scope=scope)

另,使用CUDA环境时,需要添加环境及bazel编译的配置项

export TF_NEED_CUDA=1
bazel build -c opt --config=cuda tf_models/slim:inception_saved_model

ps,关于gpu的设置如下:

export CUDA_VISIBLE_DEVICES='0,1'  #shell环境
 
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1" #python环境

以上这篇tensorflow转换ckpt为savermodel模型的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用TensorFlow实现戴明回归算法的示例
May 02 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 Python
Linux下Python安装完成后使用pip命令的详细教程
Nov 22 Python
python读取文件名并改名字的实例
Jan 07 Python
python3 下载网络图片代码实例
Aug 27 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
通过实例解析python创建进程常用方法
Jun 19 Python
Python Tornado核心及相关原理详解
Jun 24 Python
Python 如何测试文件是否存在
Jul 31 Python
Python 如何操作 SQLite 数据库
Aug 17 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 Python
tensorflow中的数据类型dtype用法说明
May 26 Python
基于Python把网站域名解析成ip地址
May 25 #Python
使用keras和tensorflow保存为可部署的pb格式
May 25 #Python
Python使用configparser读取ini配置文件
May 25 #Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 #Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
May 25 #Python
keras模型保存为tensorflow的二进制模型方式
May 25 #Python
keras 如何保存最佳的训练模型
May 25 #Python
You might like
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
JQuery autocomplete 使用手册
2010/04/01 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
详细分析JavaScript函数定义
2015/07/16 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
在Python中使用正则表达式的方法
2015/08/13 Python
基于Python实现文件大小输出
2016/01/11 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
python K近邻算法的kd树实现
2018/09/06 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
教堂婚礼主持词
2014/03/14 职场文书
企业新年寄语
2014/04/04 职场文书
旷课检讨书范文
2014/10/30 职场文书
2014年督导工作总结
2014/11/19 职场文书
2015年春节标语口号
2014/12/09 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python