与Tensorflow模型推断相比,Tensorflow模型服务器在CPU上的性能问题

时间:2017-11-27 13:41:57

标签: python performance tensorflow deep-learning tensorflow-serving

我使用Tensorflow模型服务器观察CPU的性能问题。与原始Tensorflow模型推断相比,它推断的时间加倍。两者都是用MKL构建的,仅用于CPU。

要重现的代码:https://github.com/BogdanRuzh/tf_model_service_benchmark

Tensorflow MKL版本: bazel build --config=mkl -c opt --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-O3 //tensorflow/tools/pip_package:build_pip_package

Tensorflow服务器MKL版本: bazel build --config=mkl --config=opt --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-O3 tensorflow_serving/model_servers:tensorflow_model_server

目标模型是用于分割的简单CNN。

Raw Tensorflow模型在0.17秒内处理图像。 Tensorflow模型服务器在0.32秒内处理相同的图像。

如何改善这种表现?这对我的申请非常重要。

1 个答案:

答案 0 :(得分:-1)

我想开封将对您有帮助。有人说,在配置错误的情况下,使用英特尔优化的张量流可能会导致性能下降,然后清除构建https://github.com/tensorflow/serving/issues/1272#issuecomment-477878180

您可以尝试配置批处理参数(使用配置文件和--enable_batching参数)https://github.com/tensorflow/serving/tree/master/tensorflow_serving/batching

然后设置(内部/内部)_op_parallelism_threads。

此外,MKL拥有自己的标志来提高性能https://www.tensorflow.org/guide/performance/overview#tuning_mkl_for_the_best_performance