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 Web服务器Tornado使用小结
May 06 Python
Django卸载之后重新安装的方法
Mar 15 Python
python smtplib模块实现发送邮件带附件sendmail
May 22 Python
Pandas读取MySQL数据到DataFrame的方法
Jul 25 Python
Python爬虫文件下载图文教程
Dec 23 Python
Python中的元组介绍
Jan 28 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
python opencv 检测移动物体并截图保存实例
Mar 10 Python
python函数map()和partial()的知识点总结
May 26 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
JavaScript中的Array对象使用说明
2011/01/17 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
Python入门篇之列表和元组
2014/10/17 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
如何提高python 中for循环的效率
2020/04/15 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
python实现邮件循环自动发件功能
2020/09/11 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
工厂厂长岗位职责
2013/11/08 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
导游词之天津盘山
2019/11/01 职场文书
mysql知识点整理
2021/04/05 MySQL