Как выполнить пакетную обработку с помощью TensorFlow Lite?

У меня есть собственная модель CNN, я преобразовал ее в формат .tflite и развернул в своем приложении для Android. Однако я не могу понять, как выполнять пакетную обработку при выводе с помощью tensorflow lite.

Из этого документа Google кажется, что вам нужно установите формат ввода вашей модели. Однако в этом документе используется пример кода с API Firebase, который я не планирую использовать.

Чтобы быть более конкретным:

Я хочу вывести сразу несколько изображений размером 100x100x3, поэтому размер ввода равен N x100x100x3.

Вопрос:

Как это сделать с TF lite?


person Hang    schedule 12.10.2018    source источник


Ответы (1)


Вы можете просто вызвать resizeInput API (Java) или ResizeInputTensor API (если вы используете C ++).

Например, в Java:

interpreter.resizeInput(tensor_index, [num_batch, 100, 100, 3]);

Сообщите нам, если у вас возникнут проблемы с пакетной обработкой в ​​TensorFlow lite.

person miaout17    schedule 02.11.2018
comment
Не забудьте потом позвонить allocate_tensors()! Мое ядро ​​вылетало из-за API-интерфейса python, пока я не понял этого. - person leonard; 28.08.2019
comment
Что касается предыдущей команды, allocate_tensors() не является общедоступным методом в Java API. Скорее, он автоматически вызывается базовой структурой по мере необходимости. - person Matt; 03.11.2019
comment
Python: interpreter.resize_tensor_input(tensor_index, [num_batch, 100, 100, 3]) Выполните команду: interpreter.allocate_tensors(), чтобы все вышеперечисленное вступило в силу. - person Kranthi Kiran; 13.09.2020