TfLite Android:为多个输出模型运行推理时的垃圾值

问题描述

我有一个模型可以预测尺寸为160X160的输入图像的年龄和性别。我正在创建一个字节缓冲区,以将图像输入到模型中,并且在使用仅具有一个输出的模型时,一切正常。

但是当我使用tflite.runForMultipleInputsOutputs()时,我得到的垃圾值的形式为-> [[[F @ e233等。

我已仔细阅读了文档和示例应用程序的详细信息,并坚持了将近2天。请帮忙。

我将下面的代码发布以供参考。

该模型有2个输出:

编辑:

age-> float32 [1,101]

性别-> float32 [1,2]

P.S-到目前为止,我尚未对输出执行任何操作。我只想看看模型的结果。

String classifyImage(Bitmap bitmap){
        try{
            ByteBuffer byteBuffer = convertBitmaptoByteBuffer(bitmap);

            float[][] out_gender = new float[1][2];
            float[][] out_age = new float[1][101];
            Object[] input = {byteBuffer};

            Map<Integer,Object> outputs = new HashMap();
            outputs.put(0,out_age);
            outputs.put(1,out_gender);

            interpreter.runForMultipleInputsOutputs(input,outputs);
            
        }catch (Exception e){
            e.printStackTrace();
        }
        return "";
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)