资源经验分享在modelarts上部署backend为TensorFlow的keras模型

在modelarts上部署backend为TensorFlow的keras模型

2019-09-25 | |  81 |   0

原标题:在modelarts上部署backend为TensorFlow的keras模型

原文来自:CSDN      原文链接:http://www.xinhuanet.com/2019-09/09/c_1124976366.htm


最近老山在研究在modelarts上部署mask-rcnn,源代码提供的是keras模型。我们可以将keras转化成savedModel模型,在TensorFlow Serving上部署,可参考老山的上篇部署文章。至于输入和输出张量,到已经预先存在model.input和model.output中了。


不多说,直接上代码。


from keras import backend as K

import tensorflow as tf

# 在此之前,先加载keras模型

# 。。。

# 加载完成

 

with K.get_session() as sess:

   export_path = './saved_model'

   builder = tf.saved_model.builder.SavedModelBuilder(export_path)

 

   signature_inputs = {

       'input_image': tf.saved_model.utils.build_tensor_info(model.input[0]),

       'input_image_meta': tf.saved_model.utils.build_tensor_info(model.input[1]),

       'input_anchors': tf.saved_model.utils.build_tensor_info(model.input[2]),

   }

 

   signature_outputs = {

       'mrcnn_detection':tf.saved_model.utils.build_tensor_info(model.output[0]),

       'mrcnn_class':tf.saved_model.utils.build_tensor_info(model.output[1]),

       'mrcnn_bbox':tf.saved_model.utils.build_tensor_info(model.output[2]),

       'mrcnn_mask':tf.saved_model.utils.build_tensor_info(model.output[3]),

       'ROI':tf.saved_model.utils.build_tensor_info(model.output[4]),

       'rpn_class':tf.saved_model.utils.build_tensor_info(model.output[5]),

       'rpn_bbox':tf.saved_model.utils.build_tensor_info(model.output[6]),        

   }

 

   classification_signature_def = tf.saved_model.signature_def_utils.build_signature_def(

       inputs=signature_inputs,

       outputs=signature_outputs,

       method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME)

 

   builder.add_meta_graph_and_variables(

       sess,

       [tf.saved_model.tag_constants.SERVING],

       signature_def_map={

           'root': classification_signature_def

       },

   )

 

   builder.save()

作者:山找海味

————————————————

版权声明:本文为CSDN博主「华为云」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/devcloud/article/details/101272608


免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:框的故事——检测工作的一些总结

下一篇:在OpenCV里实现联合双边滤波

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...