MLBEDSW-6955: Update to TensorFlow 2.10
- Updated to TensorFlow 2.10 and FlatBuffers 2.0.7
- Changed absolute to relative imports in the auto-generated code
- Updated Vela's TFLite writer to support FlatBuffer builder's internal
number of elements count
- Removed use of deprecated numElems argument to FlatBuffer builder's
EndVector()
Signed-off-by: erik.andersson@arm.com <erik.andersson@arm.com>
Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: If447778134db81ae0ac374c7397e1140082372fd
diff --git a/ethosu/vela/tflite_writer.py b/ethosu/vela/tflite_writer.py
index d134c07..7aab01f 100644
--- a/ethosu/vela/tflite_writer.py
+++ b/ethosu/vela/tflite_writer.py
@@ -116,35 +116,35 @@
builder.StartVector(1, len(v), alignment)
for e in v[::-1]:
builder.PrependByte(e)
- return builder.EndVector(len(v))
+ return builder.EndVector()
def write_int_vector(self, v):
builder = self.builder
builder.StartVector(4, len(v), 4)
for e in v[::-1]:
builder.PrependInt32(e)
- return builder.EndVector(len(v))
+ return builder.EndVector()
def write_long_vector(self, v):
builder = self.builder
builder.StartVector(8, len(v), 8)
for e in v[::-1]:
builder.PrependInt64(e)
- return builder.EndVector(len(v))
+ return builder.EndVector()
def write_float_vector(self, v):
builder = self.builder
builder.StartVector(4, len(v), 4)
for e in v[::-1]:
builder.PrependFloat32(e)
- return builder.EndVector(len(v))
+ return builder.EndVector()
def write_offset_vector(self, v):
builder = self.builder
builder.StartVector(4, len(v), 4)
for e in v[::-1]:
builder.PrependUOffsetTRelative(e)
- return builder.EndVector(len(v))
+ return builder.EndVector()
def assign_buffers_to_tensors(self, tensors, scratch_tensor):
if scratch_tensor is not None:
@@ -389,13 +389,15 @@
def write_aligned_bytes(self, buf):
builder = self.builder
+ builder.assertNotNested()
builder.nested = True
data = bytes(buf)
length_bytes = UOffsetTFlags.py_type(len(data))
+ builder.vectorNumElems = length_bytes
builder.Prep(16, length_bytes) # Reserve aligned storage
builder.head = UOffsetTFlags.py_type(builder.Head() - length_bytes) # Update FlatBuffer internal pointer
builder.Bytes[builder.Head() : builder.Head() + length_bytes] = data # Assign bytes to aligned area
- return builder.EndVector(length_bytes)
+ return builder.EndVector()
def serialise_buffer(self, buf):
builder = self.builder