ckpt文件生成固化的PB文件并查看模型的输入与输出

本文介绍了如何从ckpt文件生成固化的PB文件,主要通过convert_variables_to_constants函数实现。此外,还提到了利用Netron工具查看模型节点名称,并提供了相关参考资料。
摘要由CSDN通过智能技术生成

概述
需要从ckpt文件生成固化的PB文件,给生成现场用。现在我探索下不依赖代码里的网络结构、仅仅用CKPT文件来生成PB文件。

转化
训练生成的ckpt文件目录如下:

$ ls ./ckpt0507/
checkpoint                           graph.pbtxt                          model.ckpt-3251.data-00000-of-00001  model.ckpt-6500.index                model.ckpt-6501.meta
events.out.tfevents.1557215392.amax  model.ckpt-3250.data-00000-of-00001  model.ckpt-3251.index                model.ckpt-6500.meta                 model.ckpt-9750.data-00000-of-00001
events.out.tfevents.1557217802.amax  model.ckpt-3250.index                model.ckpt-3251.meta                 model.ckpt-6501.data-00000-of-00001  model.ckpt-9750.index
events.out.tfevents.1557219123.amax  model.ckpt-3250.meta                 model.ckpt-6500.data-00000-of-00001  model.ckpt-6501.index                model.ckpt-9750.meta

转化PB文件的代码如下:

import tensorflow as tf
import os

def read_graph_from_ckpt(ckpt_path, out_pb_path, output_name ):     
    # 从meta文件加载网络结构
    saver = tf.train.import_meta_graph(ckpt_path+'.meta',clear_devices=True)
    graph = tf.get_default_graph()
    with tf.Session( graph=graph) as sess:
        sess.run(tf.global_variables_initializer()) 
        # 从ckpt加载参数
        saver.restore(sess, ckpt_path) 
        output_tf =graph.get_tensor_by_name(output_name) 
        
        # 固化
        pb_graph = tf.graph_util.convert_variables_to_constants( sess, graph.as_graph_def(), [output_tf.op.name]) 
    
        # 保存
        with tf.gfile.FastGFile(out_pb_
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值