tf-serving docker 中批处理配置的踩坑

 tf-serving 官方文档中, 关于批处理请求,指南如下:

 

关键点在于:

1.  启用批处理请求  --enable_batching=True 

2. 配置批处理文件 如上图所示内容

这里有个 坑在于,如果批处理的请求是序列数据(nlp场景,或ocr场景下),是可以自动做序列padding的,需要加上 额外的配置,这个要看它github 上的源码是做了这样的修改的。

3. 在启动了序列pad后,这里padding的方式 是默认在序列末尾添加padding (末尾),这个并不能主观设置。 

4. padding 值选取,这里由于官方并没有给出可配置的选项,所以根据这个帖子: 

https://github.com/tensorflow/serving/issues/1279  

padding 值选取为收到seq 数据请求的第一个值,所以本人在处理这个问题时,为了统一控制padding值,

只能自己在发请求前人为将数据按时间维先padding 一次,我这里的padding值指定为999:

input_1_with_padding = np.ones((input_data_1.shape[0], input_data_1.shape[1]+1, input_data_1.shape[2]))
input_1_with_padding[:, 0, :] = 999
input_1_with_padding[:, 1:, :] = input_data_1[:, :, :]

然后并发发请求,每个请求返回数据的时间长度都不同,也就是tf-serving会自动批处理不同长度的请求来提高效率,

所以,返回结果的处理需要根据每条数据自己的长度来“截取”。 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

chenxin0215

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

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

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

打赏作者

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

抵扣说明:

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

余额充值