简单推理示例 tflite + kotlin
Simple inference example tflite + kotlin
我正在尝试调整 simple example 的 tflite 和 android。
val inputArray = arrayOf(initInputArray(bitmap))
val outputMap = initOutputMap(getInterpreter())
getInterpreter().runForMultipleInputsOutputs(inputArray, outputMap)
因为我的模型只有一个输出。我将 outputMap 更改为 outputArray
val inputArray = arrayOf(initInputArray(bitmap))
val outputArray = Array(1){ Array(height) { Array(width) { FloatArray( channels }}}
getInterpreter().run(inputArray, outputArray)
然而,当将其提供给推理方法时,我得到:
DataType error: cannot resolve DataType of [Ljava.nio.ByteBuffer;
知道出了什么问题吗?
发现错误:
val inputArray = arrayOf(initInputArray(bitmap))
是罪魁祸首。当使用 run
而不是 runForMultipleInputsOutputs
时,这不能是数组!所以将行更改为
val inputArray = initInputArray(bitmap)
修复了问题。
所需数据格式的良好文档会有所帮助...
- 运行 -> 需要“DirectByteBuffer”作为输入
- 运行ForMultipleInputsOutputs -> 需要“ByteBuffer”作为输入
我正在尝试调整 simple example 的 tflite 和 android。
val inputArray = arrayOf(initInputArray(bitmap))
val outputMap = initOutputMap(getInterpreter())
getInterpreter().runForMultipleInputsOutputs(inputArray, outputMap)
因为我的模型只有一个输出。我将 outputMap 更改为 outputArray
val inputArray = arrayOf(initInputArray(bitmap))
val outputArray = Array(1){ Array(height) { Array(width) { FloatArray( channels }}}
getInterpreter().run(inputArray, outputArray)
然而,当将其提供给推理方法时,我得到:
DataType error: cannot resolve DataType of [Ljava.nio.ByteBuffer;
知道出了什么问题吗?
发现错误:
val inputArray = arrayOf(initInputArray(bitmap))
是罪魁祸首。当使用 run
而不是 runForMultipleInputsOutputs
时,这不能是数组!所以将行更改为
val inputArray = initInputArray(bitmap)
修复了问题。
所需数据格式的良好文档会有所帮助...
- 运行 -> 需要“DirectByteBuffer”作为输入
- 运行ForMultipleInputsOutputs -> 需要“ByteBuffer”作为输入