DAY16&17(.ckpt转.pd跑框架)

ckpt转pd

python3 -m tensorflow.python.tools.freeze_graph --input_checkpoint=./Parser/shuffle_resnet/resnet_v1_50_s_reorder.ckpt --output_graph=./Parser/shuffle_resnet/res_frozen.pb --output_node_names=resnet_v1_50/block3/unit_6/bottleneck_v1/conv1/BatchNorm/moving_mean --checkpoint_version=1 --input_binary=true --input_meta_graph=./Parser/shuffle_resnet/resnet_v1_50_s_reorder.ckpt.meta

view pd

python3 -m tensorflow.python.tools.import_pb_to_tensorboard --model_dir=./Parser/shuffle_resnet/res_frozen.pb --log_dir=./log  

view ckpt

import tensorflow as tf
from tensorflow.summary import FileWriter

sess = tf.Session()
tf.train.import_meta_graph("./resnet_v1_50_s_reorder.ckpt.meta")
FileWriter("__tb", sess.graph)

view tensorboard

tensorboard --logdir=目录名

ckpt_to_pd

python version=3.6.5

import tensorflow.compat.v1 as tf

#infer_pb = 'models/inception/inception_v3_inf_graph.pb' # Your .meta file
infer_pb='shuffle_resnet/resnet_v1_50_s_reorder.ckpt.meta'
output_node_names = ['resnet_v1_50/predictions/Reshape_1']    # Output_node_names
g_def=tf.GraphDef()
with open(infer_pb,"rb") as f:
    g_def.ParseFromString(f.read())
graph=tf.Graph()
with graph.as_default():
        tf.import_graph_def(g_def,name="")

with tf.Session(graph=graph) as sess:
    # Restore the graph
    var_list={}
    var_to_shape_map=tf.pywrap_tensorflow.NewCheckpointReader('shuffle_resnet/resnet_v1_50_s_reorder.ckpt').get_variable_to_shape_map()
    for key in var_to_shape_map:
        try:
            tensor=sess.graph.get_operation_by_name(key).outputs[0]
        except KeyError:
            continue
        var_list[key]=tensor
    tf.train.Saver(var_list=var_list).restore(sess,'shuffle_resnet/resnet_v1_50_s_reorder.ckpt')
    tf.graph_util.remove_training_nodes(
    sess.graph_def,
)
    print("\n".join([n.name for n in sess.graph_def.node]))
    # Freeze the graph
    frozen_graph_def = tf.graph_util.convert_variables_to_constants(
        sess,
        sess.graph_def,
        output_node_names)

    # Save the frozen graph
    with open('res_frozen.pb', 'wb') as f:
      f.write(frozen_graph_def.SerializeToString())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值