我正在使用--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将多个请求批处理为一个批处理,我认为这意味着请求号的总和。
答案 0 :(得分:0)
这是docs的直接描述。
max_batch_size:任何批次的最大大小。此参数决定 吞吐量/延迟权衡,并且避免批量处理 太大而超出了某些资源限制(例如,GPU内存 保存一批数据)。
在ML中,大多数情况下,第一维表示批次。因此,根据我的理解,张量流服务将第一个维度的值作为一个批次混淆,并且每当它大于允许值时就会发出错误。您可以通过发出一些请求来进行验证,在这些请求中,您可以手动将第一个尺寸控制为小于100。我希望这样可以消除错误。
之后,您可以修改输入内容,以正确的格式发送。