当运行TFLite解释器将包含浮点的ByteBuffer作为输入时,应用程序抛出一个异常:
“数据类型错误:无法解析java.lang.float的数据类型”
模型本身是在Keras上训练的,然后转换成TF,再转换成TFLITE。
import org.tensorflow.lite.Interpreter;
import java.nio.ByteBuffer;
public Interpreter tflite;
tflite = new Interpreter(loadModelFile(Test_TFLite.this,modelFile));
ByteBuffer bytebuffer_float = convertBitmapToByteBuffer_float(image, 1,
224, 3);
float out = 0;
tflite.run(bytebuffer_float,out);
private ByteBuffer convertBitmapToByteBuffer_float(Bitmap bitmap, int
BATCH_SIZE, int inputSize, int PIXEL_SIZE) {
ByteBuffer byteBuffer = ByteBuffer.allocateDirect(4 * BATCH_SIZE *
inputSize * inputSize * PIXEL_SIZE); //float_size = 4 bytes
byteBuffer.order(ByteOrder.nativeOrder());
int[] intValues = new int[inputSize * inputSize];
bitmap.getPixels(intValues, 0, bitmap.getWidth(), 0, 0,
bitmap.getWidth(), bitmap.getHeight());
int pixel = 0;
for (int i = 0; i < inputSize; ++i) {
for (int j = 0; j < inputSize; ++j) {
final int val = intValues[pixel++];
byteBuffer.putFloat( ((val >> 16) & 0xFF)* (1.f/255.f));
byteBuffer.putFloat( ((val >> 8) & 0xFF)* (1.f/255.f));
byteBuffer.putFloat( (val & 0xFF)* (1.f/255.f));
}
}
return byteBuffer;
}
我希望有一个范围为[0,1]的浮点值作为输出。解释器抛出异常时没有实际输出。
“数据类型错误:无法解析java.lang.float的数据类型”
我自己从来没有在Java中使用过TF-Lite。但是,根据文档,tflite.run()
的两个参数都必须是张量。但是对于output
参数,您只传递一个float
。因此,我非常肯定这是您的错误“无法解析java.lang.float的数据类型”的根本原因。
注意:根据文档,还支持原始的bytebuffer
s以及支持的数据类型(float
、int
、long
、byte
)的多维数组。因此,您的两种方法bytebuffer
和float[][][][]
应该都能工作。您只需对输出执行相同的操作。
我有一个实体User,它有两个Data类型的字段。 我有一个带有save()方法的Controller,它将用户的数据保存到postgesql数据库中。 我有一个JSON,我将它发送到controller { "name":"Max "," createdOn":"2019-07-26 11:13:39 "," modified on ":" 2019-07-26 11:13:39 " } 最后在
我试图解析来自服务器的响应json。数据是一个对象数组,但有时服务器在数组的项之间发送一个布尔值。像这样: 正如你所看到的,他们之间有一个错误。 tnx提前。
我的布局名称是。我还看到了Android-DataBinding-绑定类将如何和何时生成?但这帮不了我。
我正在使用eclipse,我需要在我的android活动中使用带有PagerSlidingAbstrip的滑动选项卡。解决方案必须是什么?
运行TFLite解释器时,将包含浮点数的ByteBuffer作为输入,应用程序会引发异常: "数据类型错误:无法解析java.lang.浮点数的数据类型" 模型本身在Keras上进行训练,然后转换为TF,然后再转换为TFLite。 对于转换,我使用了TF(1.5.0版)toco转换器。 toco的输入参数: toco——输入文件=已转换。pb—输出文件=模型。tflite--输入\格式=TENSO
本文向大家介绍JavaScript数据类型详解,包括了JavaScript数据类型详解的使用技巧和注意事项,需要的朋友参考一下 数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于Jav