使用TensorflowInterfenceInterface方法时无法解析方法'feed'

时间:2018-07-18 05:47:40

标签: android tensorflow

我正在我的android项目中实现TensorFlowInferenceInterface。但是我发现无法解析方法'feed(java.lang.String,java.lang.reflect.Array,long,java.lang.long,java.lang.long ,?)错误。我该怎么解决?

import org.tensorflow.contrib.android.TensorFlowInferenceInterface;
.......

private TensorFlowInferenceInterface tensorFlowInference;
.......
tensorFlowInference.feed(inputName, imageNormalizedPixels,1L, imageSize, imageSize, COLOR_CHANNELS.toLong())

我无法实现TensorFlowInferenceInterface的方法,例如feed,run,fetch。

1 个答案:

答案 0 :(得分:0)

我解决了一个类似的问题,该问题非常重视参数类型。

在我解决问题之前,我的pixelArrayfloat[][],因为我认为它是一张图片。当我使用时:

inferenceInterface.feed(INPUTNAME, pixelArray,  1, HEIGHT, WIDTH, 1);

我知道了

  

无法解析方法'feed(java.lang.String,float [] [],int,int,int,int)'

然后我将pixelArray设为float[],问题就消失了。

我以float输入为例,请注意,方法feed是public void feed(String inputName, float[] src, long... dims)。但是在您的代码中,COLOR_CHANNELS.toLong()对应于“?” imageNormalizedPixelsjava.lang.reflect.Array相对应。

我发现了关于java.lang.reflect.Array的描述:“它基于多维数组创建数组,而一维数组只是特殊的实现。”

所以我认为您的imageNormalizedPixels可能不是一维数组。