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?
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…