Tensorflow中ckpt转pb模型代码

本文介绍如何将训练好的深度学习模型从ckpt格式转换为pb格式,以便于使用TF Serving框架进行部署。通过具体代码示例展示了整个转换过程。

工业界中,常常使用TFserving框架部署深度学习模型,为了能够将训练好的深度学习模型进行部署,通常需要将ckpt格式文件转为pb格式,以下为具体代码:

import os
import tensorflow as tf

checkpoint_file = tf.train.latest_checkpoint("./saved_mode/model_name")
graph = tf.Graph()

with graph.as_default():
    session_conf = tf.ConfigProto(allow_soft_placement=True,log_device_placement=False)
    sess = tf.Session(config=session_conf)
    with sess.as_default():
        saver = tf.train.import_meta_graph("{}.meta".format(checkpoint_file))
        saver.restore(sess,checkpoint_file)
        builder = tf.saved_model.builder.SavedModelBuilder("./saved_model/model_name/pb")
        input_tensor= tf.saved_model.utils.build_tensor_info(graph.get_tensor_by_name("input_tensor:0"))
        output_tensor= tf.saved_model.utils.build_tensor_info(graph.get_tensor_by_name("output_tensor:0"))
        labeling_signature = (tf.saved_model.signature_def_utils.build_signature_def(inputs={"input_tensor:0":input_tensor},outputs={"output_tensor:0":output_tensor},method_name="tensorflow/serving/predict"))
        builder.add_meta_grapg_and_variables(sess,[tf.saved_model.tag_constants.SERVING],signature_def_map={tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:labeling_signature})
        builder.save()
        print("Build complete!")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卷发擦边

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值