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 相关文章推荐
Python中请使用isinstance()判断变量类型
Aug 25 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
python 全文检索引擎详解
Apr 25 Python
python实现烟花小程序
Jan 30 Python
python读写配置文件操作示例
Jul 03 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
详解Python3定时器任务代码
Sep 23 Python
Python简单实现区域生长方式
Jan 16 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
Python中的min及返回最小值索引的操作
May 10 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
phpMyadmin 用户权限中英对照
2010/04/02 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
理解JavaScript的prototype属性
2012/02/11 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
vue写一个组件
2018/04/09 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Python进程通信之匿名管道实例讲解
2015/04/11 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
利用python实现AR教程
2019/11/20 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
什么是Rollback Segment
2013/04/22 面试题
服务行业个人求职的自我评价
2013/12/12 职场文书
材料物理专业个人求职信
2013/12/15 职场文书
应聘英语教师求职信
2014/04/24 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
大专护理专业自荐信
2015/03/25 职场文书
教师工作证明范本
2015/06/12 职场文书
校园新闻稿范文
2015/07/18 职场文书
如何理解及使用Python闭包
2021/06/01 Python