[英]What does “max_batch_size” mean in tensorflow-serving batching_config.txt?
我正在使用--enable-batching=true
在GPU上使用张量流服务。
但是,我对batching_config.txt
max_batch_size
有点困惑。
我的客户在单个gRPC请求中发送了张量形状为[-1, 1000]
-1,1000 [-1, 1000]
的输入张量,dim0的范围是(0, 200]
0,200 (0, 200]
。我设置max_batch_size = 100
并收到错误:
“ gRPC调用返回码:3:任务大小158大于最大批处理大小100”
“ gRPC调用返回码:3:任务大小162大于最大批处理大小100”
看起来max_batch_size
限制单个请求的dim0,但是tensorflow将多个请求分批处理为一个批处理,我认为这意味着请求数的总和。
这是来自docs的直接描述。
max_batch_size:任何批次的最大大小。 此参数控制吞吐量/延迟权衡,并且还避免具有如此大的批处理以至于超过某些资源限制(例如,GPU内存来保存批处理的数据)。
在ML中,大多数情况下,第一个维度代表批次。 因此,根据我的理解,张量流服务将第一个维度的值作为一个批次混淆,并且每当它大于允许值时就会发出错误。 您可以通过发出一些请求来对其进行验证,在这些请求中,您可以手动将第一个尺寸控制为小于100。
之后,您可以修改输入以正确的格式发送。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.