MTCNN 的 TensorFlow Serving

本文介绍了如何将MTCNN模型部署到TensorFlow Serving上,详细阐述了模型改造过程,包括将输入从numpy array转换为bytes,以及在client端避免使用tf.make_tensor_proto。还提供了改造后的MTCNN client的实现方法,解决了直接转换图片数据为tf.string的难题。
摘要由CSDN通过智能技术生成

代码在我的github:
https://github.com/FortiLeiZhang/model_zoo/blob/master/TensorFlow/mtcnn/mtcnn_client.py

MTCNN TensorFLow Serving

上一节用 Keras 实现了 mtcnn,下一步就是在 TF Serving 上将这个服务起来。本来以为很简单,就是把 model 导出来,在 TF model server 上跑起来就完事。TF 官方提供了一个能用的 参考版本。但是,真正用到实际中,问题又来了。首先,在向 serving model 传递输入的时候,使用到了 tf.make_tensor_proto

tp = tf.make_tensor_proto(image, dtype=tf.float32, shape=image.shape)

而在实际的应用程序一侧,使用 tf 里面的函数需要 import tensorflow,这会耗费大量的内存。另外,serving model 的输入是 numpy array,这在进行大量调用的时候,效率很低,根据以往在做 object detection 时的经验,传递参数为 bytes 最好。所以要解决的问题为:

  1. 改造模型,使其输入为 bytes 而非 numpy array。
  2. 在 client 中避免使用 tf.make_tensor_proto。

改造 MTCNN 模型

原始的模型输入是形如 (None,None,None,3) 的 tf.float32 数组

data = tf.placeholder(tf.float32, (None,
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值