Android Question TfLiteTensorGetFloatBuffer returns garbage values after inference

CMA

New Member
Hi,

I'm using tensorFlowLite 2.16 by Deliang Zhang.
I'm running MobileFaceNet (input 1x112x112x3, output 1x192).

Inference returns result=0 (success) and TfLiteTensorByteSize=768 (correct).
But TfLiteTensorGetFloatBuffer always returns aberrant values.

My code:
Dim outputTensorHandle As Long = TFLite.TfLiteInterpreterGetOutputTensor(ModelHandle, 0)
Dim byteSize As Int = TFLite.TfLiteTensorByteSize(outputTensorHandle) ' = 768
Dim nativeBuf As Long = TFLite.AllocNativeBuffer(byteSize)
TFLite.TfLiteTensorCopyToBuffer(outputTensorHandle, nativeBuf, byteSize)
Dim outputBuffer() As Float = TFLite.TfLiteTensorGetFloatBuffer(nativeBuf, byteSize)
' outputBuffer contains garbage values

What is the correct way to read float output after inference?
 
Top