convertBytesToObject static method
Implementation
static Object convertBytesToObject(
Uint8List bytes, TfLiteType tfliteType, List<int> shape) {
// stores flattened data
List<dynamic> list = [];
if (tfliteType == TfLiteType.int32) {
for (var i = 0; i < bytes.length; i += 4) {
list.add(ByteData.view(bytes.buffer).getInt32(i, Endian.little));
}
return list.reshape<int>(shape);
} else if (tfliteType == TfLiteType.float32) {
for (var i = 0; i < bytes.length; i += 4) {
list.add(ByteData.view(bytes.buffer).getFloat32(i, Endian.little));
}
return list.reshape<double>(shape);
} else if (tfliteType == TfLiteType.int16) {
for (var i = 0; i < bytes.length; i += 2) {
list.add(ByteData.view(bytes.buffer).getInt16(i, Endian.little));
}
return list.reshape<int>(shape);
} else if (tfliteType == TfLiteType.float16) {
Uint8List list32 = Uint8List(bytes.length * 2);
for (var i = 0; i < bytes.length; i += 2) {
list32[i] = bytes[i];
list32[i + 1] = bytes[i + 1];
}
for (var i = 0; i < list32.length; i += 4) {
list.add(ByteData.view(list32.buffer).getFloat32(i, Endian.little));
}
return list.reshape<double>(shape);
} else if (tfliteType == TfLiteType.int8) {
for (var i = 0; i < bytes.length; i += 1) {
list.add(ByteData.view(bytes.buffer).getInt8(i));
}
return list.reshape<int>(shape);
} else if (tfliteType == TfLiteType.int64) {
for (var i = 0; i < bytes.length; i += 8) {
list.add(ByteData.view(bytes.buffer).getInt64(i));
}
return list.reshape<int>(shape);
}
throw UnsupportedError("$tfliteType is not Supported.");
}