aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/tflite_writer.py
diff options
context:
space:
mode:
authorMichael McGeagh <michael.mcgeagh@arm.com>2020-08-07 16:21:03 +0100
committerFredrik Knutsson <fredrik.knutsson.hunnebo@gmail.com>2020-08-12 06:25:23 +0000
commit22f74e1c39572f084ad05cc2f208446fd2f50138 (patch)
tree96d602818de364e2297fb67c2f00fc1245ba74f7 /ethosu/vela/tflite_writer.py
parente99b893beaa1b95ee86d51a613f208f9f4edf150 (diff)
downloadethos-u-vela-22f74e1c39572f084ad05cc2f208446fd2f50138.tar.gz
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
Diffstat (limited to 'ethosu/vela/tflite_writer.py')
-rw-r--r--ethosu/vela/tflite_writer.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/ethosu/vela/tflite_writer.py b/ethosu/vela/tflite_writer.py
index 3f3b7b1b..92b5c6b0 100644
--- a/ethosu/vela/tflite_writer.py
+++ b/ethosu/vela/tflite_writer.py
@@ -414,12 +414,14 @@ class TFLiteSerialiser:
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)))
- buffers_offset = self.write_offset_vector([self.serialise_buffer(buf) for buf in self.buffers_to_write])
+ 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))
- metadata_list = [("OfflineMemoryAllocation", len(self.buffers_to_write) - 1)]
+ buffers_offset = self.write_offset_vector([self.serialise_buffer(buf) for buf in self.buffers_to_write])
metadata_offset = self.write_offset_vector([self.serialise_metadata(metadata) for metadata in metadata_list])
Model.ModelStart(builder)