Добавление BATCH_TO_SPACE_ND и SPACE_TO_BATCH_ND к тензорному потоку lite - PullRequest
0 голосов
/ 13 февраля 2019

NNAPI 1.1 уже поддерживает операции SPACE_TO_BATCH_ND и BATCH_TO_SPACE_ND, но текущий код TFLite еще не реализован.См .: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/nnapi_delegate.cc#L607

Я пытался добавить их следующим образом:

case tflite::BuiltinOperator_SPACE_TO_BATCH_ND:
   nn_op_type = ANEURALNETWORKS_SPACE_TO_BATCH_ND;
   break;
case tflite::BuiltinOperator_BATCH_TO_SPACE_ND:
   nn_op_type = ANEURALNETWORKS_BATCH_TO_SPACE_ND;
   break;

, но это не сработало, и при запуске на устройстве с Android появилось сообщение об ошибке: E / Utils: недопустимое количество входных операндов (3, ожидаемое 2) или выходных операндов (1, ожидаемое 1) для операции BATCH_TO_SPACE_ND

как правильно добавить эти операции в tenorflow lite?Спасибо!

1 Ответ

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

Найден ответ, для этого вам нужно потратить некоторое время, чтобы понять их архитектуру кода, затем попытаться «перевести» из tftensor в NNAPI:

, например: ANEURALNETWORKS_BATCH_TO_SPACE_ND (NNAPI) требуется 2 параметра(входной тензор, block_shape), в то время как TFLite требуется 3 аргумента (входной тензор, block_shape, кадрирование), поэтому вам нужно обработать его, чтобы обойти ошибки.

...