tensorflow serving学习过程中出现的一系列名词解释

SavedModel

名词,一种tensorflow模型格式。发布服务前生成。目录结构如图
在这里插入图片描述
下面是一段生成SavedModel的示例代码,大致的意思就是要先加载计算图结构,并且载入训练好的模型,然后定义好输入和输出。

session = tf.Session()
    session.run(tf.global_variables_initializer())
    saver = tf.train.Saver()
    saver.restore(sess=session, save_path=old_model_path)

    # 将训练好的模型保存在model_name下,版本为2,当然你的版本可以随便写
    builder = tf.saved_model.builder.SavedModelBuilder(export_path)
    inputs = {
        # 注意,这里是你预测模型的时候需要传的参数,调用模型的时候,传参必须和这里一致
        # 这里的model.input_x和model.keep_prob就是模型里面定义的输入placeholder
        "input_image": tf.saved_model.utils.build_tensor_info(model._image),
        "input_im_info": tf.saved_model.utils.build_tensor_info(model._im_info)
    }

    # model.y_pred_cls是模型的输出, 预测的时候就是计算这个表达式
    output = {"output_cls_score": tf.saved_model.utils.build_tensor_info(model._predictions["cls_score"]),
              "output_rois": tf.saved_model.utils.build_tensor_info(model._predictions["rois"]),
              "output_cls_prob": tf.saved_model.utils.build_tensor_info(model._predictions["cls_prob"]),
              "output_bbox_pred": tf.saved_model.utils.build_tensor_info(model._predictions["bbox_pred"])}
    prediction_signature = tf.saved_model.signature_def_utils.build_signature_def(
        inputs=inputs,
        outputs=output,
        method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME
    )

    builder.add_meta_graph_and_variables(
        session,
        [tf.saved_model.tag_constants.SERVING],
        {tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: prediction_signature}
    )
    builder.save()

protobuff

这是google发明的一种二进制编码格式,针对各种语言都设计了解码函数。SavedModel中的文件就是这种编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值