Предсказания, связанные с обслуживанием Tensorflow Docker, слишком велики - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь обслуживать мою модель, используя Docker + tenorsflow-Обслуживание.Однако из-за ограничений, связанных с обслуживанием модели с помощью итератора (с использованием
make_initializable_iterator()), мне пришлось разделить мою модель.

Я использую grpc для взаимодействия с моей моделью в докере.Проблема в том, что мой прогнозируемый тензор составляет около 10 МБ и около 4,1 МБ сериализовано.Я получаю ошибку:

"grpc_message":"Received message larger than max (9830491 vs. 4194304)"

Есть ли способ записать мои прогнозы на диск вместо их передачи в ответе grpc?Выходной файл представляет собой 32-канальный тензор, поэтому я не могу декодировать его как png перед сохранением на диск с помощью tf.io.write_file.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

Код для установки размера сообщений на Unlimited в запросе клиента gRPC с использованием C ++ показан ниже:

grpc::ChannelArguments ch_args;
ch_args.SetMaxReceiveMessageSize(-1);
std::shared_ptr<grpc::Channel> ch = grpc::CreateCustomChannel("localhost:6060", grpc::InsecureChannelCredentials(), ch_args);
0 голосов
/ 15 мая 2019

Длина сообщения по умолчанию составляет 4 МБ в gRPC, но мы можем увеличить размер в вашем клиенте gRPC и запросе к серверу в python, как указано ниже.Вы сможете отправлять и получать большие сообщения без потоковой передачи

request = grpc.insecure_channel('localhost:6060', 
options=[('grpc.max_send_message_length', MAX_MESSAGE_LENGTH), 
('grpc.max_receive_message_length', MAX_MESSAGE_LENGTH)])

В GO lang у нас есть функции, ссылающиеся на URL

https://godoc.org/google.golang.org/grpc#MaxMsgSize https://godoc.org/google.golang.org/grpc#WithMaxMsgSize

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