【发布时间】:2018-08-10 06:35:33
【问题描述】:
我一直在尝试将我的 keras 模型 .tflite 文件放入 google 的 Tflitecamera 演示中。但是我遇到了分配错误(无法在 12288 字节的 TensorFlowLite 缓冲区和 1072812 字节的 ByteBuffer 之间转换。在)。 我认为这是因为错误的字节缓冲区分配。
ByteBuffer.allocate( DIM_BATCH_SIZE * getImageSizeX() * getImageSizeY() * DIM_PIXEL_SIZE * getNumBytesPerChannel());
任何人都可以对此有所了解。我是 TensorFlow 的新手。
下面是日志
08-10 11:56:28.905 28066-28066/android.example.com.tflitecamerademo E/MultiWindowProxy:getServiceInstance 失败! 08-10 11:56:35.675 28066-28092/android.example.com.tflitecamerademo E/AndroidRuntime: 致命异常: CameraBackground 进程:android.example.com.tflitecamerademo,PID:28066 java.lang.IllegalArgumentException:无法在 12288 字节的 TensorFlowLite 缓冲区和 1072812 字节的 ByteBuffer 之间进行转换。 在 org.tensorflow.lite.Tensor.throwExceptionIfTypeIsIncompatible(Tensor.java:175) 在 org.tensorflow.lite.Tensor.setTo(Tensor.java:65) 在 org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:126) 在 org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:168) 在 org.tensorflow.lite.Interpreter.run(Interpreter.java:145) 在 com.example.android.tflitecamerademo.ImageClassifierFloatInception.runInference(ImageClassifierFloatInception.java:103) 在 com.example.android.tflitecamerademo.ImageClassifier.classifyFrame(ImageClassifier.java:136) 在 com.example.android.tflitecamerademo.Camera2BasicFragment.classifyFrame(Camera2BasicFragment.java:702) 在 com.example.android.tflitecamerademo.Camera2BasicFragment.-wrap0(Camera2BasicFragment.java) 在 com.example.android.tflitecamerademo.Camera2BasicFragment$4.run(Camera2BasicFragment.java:597) 在 android.os.Handler.handleCallback(Handler.java:822) 在 android.os.Handler.dispatchMessage(Handler.java:104) 在 android.os.Looper.loop(Looper.java:207) 在 android.os.HandlerThread.run(HandlerThread.java:61)
【问题讨论】:
标签: android-studio tensorflow keras tensorflow-lite