在张量流服务batching_config.txt中,``max_batch_size''是什么意思?

时间:2018-11-02 03:54:07

标签: gpu tensorflow-serving

我正在使用--enable-batching=true在GPU上使用张量流服务。

但是,我对max_batch_size中的batching_config.txt感到有些困惑。

我的客户端在单个gRPC请求中发送张量形状为[-1, 1000]的输入张量,dim0的范围为(0, 200]。我设置了max_batch_size = 100并收到错误消息:

  

“ gRPC调用返回代码:3:任务大小158大于最大批处理   尺寸100“

     

“ gRPC调用返回代码:3:任务大小162大于最大批处理   尺寸100“

看起来像max_batch_size限制了单个请求的dim0,但是tensorflow将多个请​​求批处理为一个批处理,我认为这意味着请求号的总和。

1 个答案:

答案 0 :(得分:0)

这是docs的直接描述。

  

max_batch_size:任何批次的最大大小。此参数决定   吞吐量/延迟权​​衡,并且避免批量处理   太大而超出了某些资源限制(例如,GPU内存   保存一批数据)。

在ML中,大多数情况下,第一维表示批次。因此,根据我的理解,张量流服务将第一个维度的值作为一个批次混淆,并且每当它大于允许值时就会发出错误。您可以通过发出一些请求来进行验证,在这些请求中,您可以手动将第一个尺寸控制为小于100。我希望这样可以消除错误。

之后,您可以修改输入内容,以正确的格式发送。