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中的单行、多行、中文注释方法
Jul 19 Python
python删除字符串中指定字符的方法
Aug 13 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
Python对象的属性访问过程详解
Mar 05 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
python从ftp获取文件并下载到本地
Dec 05 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Jun 04 Python
Python编写nmap扫描工具
Jul 21 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
Knockoutjs快速入门(经典)
2012/12/24 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
Python简单实现控制电脑的方法
2018/01/22 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
银行介绍信范文
2014/01/10 职场文书
护士上岗前培训自我鉴定
2014/04/20 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers