Я бегу posenet (который является CNN) на Android с tflite.Модель имеет несколько выходных массивов со следующими размерами: 1x14x14x17, 1x14x14x34, 1x14x14x32, 1x14x14x32
Поэтому при запуске интерпретатора Java tflite с
import org.tensorflow.lite.Interpreter;
Interpreter tflite;
...
tflite.runForMultipleInputsOutputs(inputs,outputs)
я могу получить доступ к четырем выходным тензорам с помощью tflite.getOutputTensor(i)
или с помощью outputs.get(i)
(с i el. [0,3]), как outputs
- это HashMap
, заполненный java.nio.HeapByteBuffer
объектами.
Как я могу преобразовать эти выходные данные или tflite-тензоры в многомерные массивы Java(что-то вроде float[][][][];
), чтобы иметь возможность выполнять математические вычисления на них?