MLBEDSW-2383 Preserve previous metadata

The input tflite file potentially has metadata attached to it, which was
lost when writing the vela optimised tflite file out.
This patch preserves any metadata found.

Signed-off-by: Michael McGeagh <michael.mcgeagh@arm.com>
Change-Id: I7b4e941696d21b81802fd4398cd405323778bedf
diff --git a/ethosu/vela/tflite_writer.py b/ethosu/vela/tflite_writer.py
index 3f3b7b1..92b5c6b 100644
--- a/ethosu/vela/tflite_writer.py
+++ b/ethosu/vela/tflite_writer.py
@@ -414,12 +414,14 @@
             if tens.mem_type in set((MemType.Scratch, MemType.Scratch_fast)) and tens.address is not None:
                 offsets[idx] = np.int32(tens.address)
 
-        metadata_buffer = np.array([version, subgraph_idx, nbr_tensors] + offsets)
-        self.buffers_to_write.append(metadata_buffer)
+        self.nng.metadata.append(("OfflineMemoryAllocation", np.array([version, subgraph_idx, nbr_tensors] + offsets)))
+
+        metadata_list = []
+        for name, buffer in self.nng.metadata:
+            self.buffers_to_write.append(buffer)
+            metadata_list.append((name, len(self.buffers_to_write) - 1))
 
         buffers_offset = self.write_offset_vector([self.serialise_buffer(buf) for buf in self.buffers_to_write])
-
-        metadata_list = [("OfflineMemoryAllocation", len(self.buffers_to_write) - 1)]
         metadata_offset = self.write_offset_vector([self.serialise_metadata(metadata) for metadata in metadata_list])
 
         Model.ModelStart(builder)