【问题标题】:How can I convert 2-dimensional float array to float buffer?如何将二维浮点数组转换为浮点缓冲区?
【发布时间】:2021-03-29 10:39:30
【问题描述】:
我正在尝试将输入数据提供给 Kotlin 中的 tflite 模型,但是,我不知道这种输入表单。我的观点是如何将二维浮点数组浮点缓冲区转换为输入形状。
val inputArray: Array<FloatArray> = ...
var byteBuffer: ByteBuffer = allocateDirect(10 * 100 * 4)
var inputBuffer: FloatBuffer = byteBuffer.asFloatBuffer();
inputBuffer.put(inputArray)
【问题讨论】:
标签:
java
android
tensorflow
kotlin
【解决方案1】:
这是一个例子:
val row = inputArray.size
val col = inputArray[0].size
val byteBuffer: ByteBuffer = ByteBuffer.allocateDirect(4*col*row)
byteBuffer.order(ByteOrder.nativeOrder())
for (i in 0 until row){
for (j in inputArray[i].indices){
byteBuffer.putFloat(inputArray[i][j])
}
}