vela: Add support for CPU only networks
- Fix various problems when no operators run on Ethos-U55
Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: I44a1a914fabb7ca26c921a02753da8abeecd9c7b
diff --git a/ethosu/vela/tflite_writer.py b/ethosu/vela/tflite_writer.py
index 99df849..675b698 100644
--- a/ethosu/vela/tflite_writer.py
+++ b/ethosu/vela/tflite_writer.py
@@ -134,12 +134,17 @@
return builder.EndVector(len(v))
def assign_buffers_to_tensors(self, tensors):
+ scratch_tensors = [tens for tens in tensors if tens.purpose == TensorPurpose.Scratch]
+ if len(scratch_tensors) > 0:
+ scratch_tensor_mem_area = scratch_tensors[0].mem_area
+ else:
+ scratch_tensor_mem_area = None # all tensors are initialised to MemArea.Unknown
+
buffer_map = {}
- scratch_tensor = [tens for tens in tensors if tens.purpose == TensorPurpose.Scratch][0]
buf_idx = 1
for tens in tensors:
- if tens.mem_area == scratch_tensor.mem_area:
+ if tens.mem_area == scratch_tensor_mem_area:
buffer_map[tens] = self.scratch_buf_id
else:
buffer_map[tens] = buf_idx