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常用模块介绍
Nov 21 Python
python读取excel表格生成erlang数据
Aug 26 Python
Python读csv文件去掉一列后再写入新的文件实例
Dec 28 Python
如何使用VSCode愉快的写Python于调试配置步骤
Apr 06 Python
python2.7实现邮件发送功能
Dec 12 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
python encrypt 实现AES加密的实例详解
Feb 20 Python
python实现快递价格查询系统
Mar 03 Python
python设置中文界面实例方法
Oct 27 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
Feb 22 Python
python中的被动信息搜集
Apr 29 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
JAVA/JSP学习系列之二
2006/10/09 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
JavaScript基本对象
2007/01/11 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
js变换显示图片的实例
2013/04/16 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
Python中的exec、eval使用实例
2014/09/23 Python
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
爱祖国演讲稿
2014/05/04 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
详解SQL报错盲注
2022/07/23 SQL Server