Служба загрузки tenorsFlow настраивает неэффективность - PullRequest
0 голосов
/ 25 февраля 2019

команда запуска Docker

docker run -t --rm -p 8500:8500 -p 8501:8501 
-v /home/zhi.wang/tensorflow-serving/model:/models 
-e MODEL_NAME=beidian_cart_ctr_wdl_model tensorflow/serving:1.12.0 
--enable_batching=true --batching_parameters_file=/models/batching_parameters.txt &

batching_parameters.txt

num_batch_threads { value: 40 }
batch_timeout_micros { value: 5000}
max_batch_size {value: 20000000}

конфигурация сервера

40 процессоров и 64 ГБ памяти

результат теста

1 прогнозируемая стоимость потока 30 мс
40 прогнозируемая стоимость одного прогнозирования стоимость 300 мс

использование процессора

использование процессора в докере может быть только до 300%, а использование процессора хостом низкое

сценарий тестирования java

TensorProto.Builder tensor = TensorProto.newBuilder();

tensor.setTensorShape(shapeProto);

tensor.setDtype(DataType.DT_STRING);
// batch set 200 
for (int i=0; i<200; i++) {
    tensor.addStringVal(example.toByteString());
}

1 Ответ

0 голосов
/ 28 февраля 2019

Я также столкнулся с той же проблемой, и я обнаружил, что, возможно, проблема с сетевым вводом, вы можете использовать dstat для мониторинга сетевого интерфейса.

и я нашел пример. ToByteString () также стоит много времени

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...