Android:java.lang.IllegalArgumentException:输入张量索引无效:1

时间:2020-07-08 13:11:58

标签: java android tensor tensorflow-lite

我正在尝试使用下面给出的 org.tensorflow.lite (文档链接https://www.tensorflow.org/lite/guide/inference)方法来解释多个输入输出:

NextToJump__race-

当我在输入输出数组中传递单个值时。它的工作正常,并获得适当的输出。 但是,如果有多个输入输出值出现错误。

具有单个项目数组的代码:

interpreter.runForMultipleInputsOutputs(inputs, map_of_indices_to_outputs);

输出: 可以很好地获取ML处理结果。

具有多个输入输出数组的代码如下:

 List<ByteBuffer> byteBuffer = new ArrayList<>() ;
 byteBuffer.add(convertBitmapToByteBufferOld(bitmap));
 Map<Integer, Object> outputs = new HashMap<>();
 byte[][] result1 = new byte[1][labelList.size()];
 outputs.put(0, result1);
 interpreter.runForMultipleInputsOutputs(byteBuffer.toArray(), outputs);

错误:

 List<ByteBuffer> byteBuffer = new ArrayList<>() ;
 byteBuffer.add(convertBitmapToByteBufferOld(bitmap1));
 byteBuffer.add(convertBitmapToByteBufferOld(bitmap2));
 Map<Integer, Object> outputs = new HashMap<>();
 byte[][] result1 = new byte[1][labelList.size()];
 byte[][] result2 = new byte[1][labelList.size()];
 outputs.put(0, result1);
 outputs.put(1, result2);
 interpreter.runForMultipleInputsOutputs(byteBuffer.toArray(), outputs);

如果有人能解决我的问题,那就太好了。预先感谢。

0 个答案:

没有答案