Что означает "max_batch_size" в файле batching_config.txt, обслуживающем тензор? - PullRequest
0 голосов
/ 02 ноября 2018

Я использую службу тензорного потока на графических процессорах с --enable-batching=true.

Однако я немного запутался с max_batch_size в batching_config.txt.

Мой клиент отправляет входной тензор с тензорной формой [-1, 1000] в одном запросе gRPC, dim0 колеблется от (0, 200]. Я установил max_batch_size = 100 и получил ошибку:

"Код возврата вызова gRPC: 3: размер задачи 158 превышает максимальный пакет размер 100 "

"Код возврата вызова gRPC: 3: размер задачи 162 превышает максимальный пакет размер 100 "

Похоже, max_batch_size ограничивает dim0 одного запроса, но тензор потока объединяет несколько запросов в пакет, я думал, что это означает сумму номеров запросов.

1 Ответ

0 голосов
/ 02 ноября 2018

Вот прямое описание из документов .

max_batch_size: максимальный размер любой партии. Этот параметр управляет компромисс между пропускной способностью и задержкой, а также позволяет избежать пакетов, которые настолько велики, что превышают некоторое ограничение ресурсов (например, память графического процессора для держать данные партии).

В ML большую часть времени первое измерение представляет партию. Таким образом, исходя из моего понимания, обслуживание tenorflow путает значение для первого измерения как пакет и выдает ошибки, когда оно превышает допустимое значение. Вы можете проверить это, выполнив часть запроса, в котором вы вручную управляете первым измерением ниже 100. Я ожидаю, что это устранит ошибку.

После этого вы можете изменить свои входные данные для отправки в правильном формате.

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