带有tf服务的批量处理效果几乎为零

时间:2019-04-12 13:42:55

标签: tensorflow-serving

我正在使用批处理,并且正在通过Docker容器tf-serving运行tensorflow/serving:1.13.0-gpu

我的batch.config文件如下:

max_batch_size { value:  32 }
batch_timeout_micros { value : 0 }
num_batch_threads { value : 64 }
allowed_batch_sizes : 1
allowed_batch_sizes : 2
allowed_batch_sizes : 8
allowed_batch_sizes : 32
max_enqueued_batches { value : 100000000}

我通过执行tensorflow_model_server --model_base_path=/models/object-detect --rest_api_port=8501 --port=8081 --enable_batching --batching_parameters_file=batch.config来运行所有程序。

GPU是Tesla P100,系统有8个运行tf 1.13.1的内核。

当我向服务器发送1000个并发请求时(每个请求带有一个图像),大约需要35秒的时间(不分批处理)。对于批处理,它需要几乎相同的准确时间-大约34.5秒。

我知道batch.config文件需要手工进行微调,我对此感到很困惑,并对其数字进行了微调,但是似乎并没有真正影响运行时。

我看到其他一些帖子提到,从源头构建tf-serving可以解决此问题,但对我而言不是。

任何建议都会很棒!

0 个答案:

没有答案