当我试图运行我的自定义图像分类应用程序,我得到了一个错误。我用了这个回购:https://github.com/googlecodelabs/tensorflow-for-poets-2/tree/master/android/tflite。 My.tflite模型参数为:
== Input details ==
name: x shape: [ 1 256 256 3]
type: <class 'numpy.float32'>
== Output details ==
name: Identity shape: [ 1 30]
type: <class 'numpy.float32'>
我添加我的图形.lite模型和标签.txt. 我也改变了这个字符串图像分类器.java地址:
static final int DIM_IMG_SIZE_X = 224;
static final int DIM_IMG_SIZE_Y = 224;
private static final int IMAGE_MEAN = 128;
private static final float IMAGE_STD = 128.0f;
在这种情况下:
static final int DIM_IMG_SIZE_X = 256;
static final int DIM_IMG_SIZE_Y = 256;
private static final int IMAGE_MEAN = 128;
private static final float IMAGE_STD = 128;
错误:
java.lang.IllegalArgumentException: Cannot copy between a TensorFlowLite
tensor with shape [1, 30] and a Java object with shape [1, 1].
at org.tensorflow.lite.Tensor.throwIfShapeIsIncompatible(Tensor.java:282)
at org.tensorflow.lite.Tensor.throwIfDataIsIncompatible(Tensor.java:249)
at org.tensorflow.lite.Tensor.copyTo(Tensor.java:141)
at org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:161)
at org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:275)
at org.tensorflow.lite.Interpreter.run(Interpreter.java:249)
at com.example.android.tflitecamerademo.ImageClassifier.classifyFrame(ImageClassifier.java:117)
at com.example.android.tflitecamerademo.Camera2BasicFragment.classifyFrame(Camera2BasicFragment.java:663)
at com.example.android.tflitecamerademo.Camera2BasicFragment.access$900(Camera2BasicFragment.java:69)
at com.example.android.tflitecamerademo.Camera2BasicFragment$5.run(Camera2BasicFragment.java:558)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.os.HandlerThread.run(HandlerThread.java:65)
所以,我需要找到一个字符串,在这个字符串中,我可以用shape[1,1]将这个Java对象更改为shape[1,30],并采取其他可能的步骤使我的应用程序正常工作。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐