首页 > 解决方案 > 如何在 Android 上检查 TFllite ImageProcessor 的输出?

问题描述

我使用 TFlite 在 Android 上实现了一个 TensorFlow 模型。我使用 anImageProcessor创建模型的输入。但是,我不知道我的输入格式是否正确。我需要0~1之间的浮点值。所以我做了:

TensorImage tImage = new TensorImage(DataType.FLOAT32);
tImage.load(bitmap);

ImageProcessor imageProcessor = new ImageProcessor.Builder()
   .add(new ResizeOp(64, 64, ResizeOp.ResizeMethod.BILINEAR))
   .add(new NormalizeOp(0.0f, 255.0f))
   .build();

TensorImage tImageProcceed = imageProcessor.process(tImage);

Interpreter tfliteImage = new Interpreter(tfliteModelImage, options);
tfliteImage.run(tImageProcceed.getBuffer(), probabilityBufferImage.getBuffer()); 
tfliteImage.close();

但是,如果我使用以下命令检查 tImageProcceed.getBuffer() 的值:

tImageProcceed.getBuffer().get(1)

值不在 0~1 之间,如 127、32...

有很多关于如何规范化数据的文档,但我不知道如何检查结果。

标签: androidtensorflowimage-processing

解决方案


推荐阅读