我有一个模型可以预测尺寸为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 "";
}
答案 0 :(得分:2)
首先,我建议您仔细检查模型的输出是否与输出映射匹配。我觉得奇怪的是,性别是101维数组,而年龄是2维数组。你有没有机会把它们混在一起?
其次,我认为您是在float数组上调用//Create a welcome message and direct them to the main page
app.get('/', (req, res) => {
res.send(
'<h2 style="font-family: Malgun Gothic; color: midnightblue ">Welcome to Edureka Node.js MongoDB
Tutorial!!</h2>'
,'Click Here to go to <b> <a href="/course">Course Page</a> </b>');
});
app.use(bodyparser.json());
。考虑使用例如toString()
展示结果。