diff options
author | Samuel Panijel <samuel.panijel@arm.com> | 2021-06-10 13:40:03 +0300 |
---|---|---|
committer | tim.hall <tim.hall@arm.com> | 2021-07-05 11:01:19 +0000 |
commit | 6f4955aa7097b123bbf31aae4654547bb3e3c68c (patch) | |
tree | 72972b12a5e53743844bbc2d86c3fe50ae4fa425 /ethosu/vela/tflite_writer.py | |
parent | b279844cae93353410210597535fdbf495cd0498 (diff) | |
download | ethos-u-vela-6f4955aa7097b123bbf31aae4654547bb3e3c68c.tar.gz |
MLBEDSW-3890 handling scratch tensor
vela: Possible issue with handling scratch tensor on non-ethosu custom op
Fixing a case where a tensor input name ends with "scratch".
4 test cases passing this change:
1) non-optimized tflite - input tensor name is _split_1_scratch
2) optimized tflite - input tensor name is _split_1_scratch
3) optimized tflite - input tensor name is _split_1_scratch and custom
operation name is non_ethus_u
4) non-optimized tflite - input tensor name is _split_1_scratch_fast
Change-Id: Ia515805825b7f9a646607c5075b7ea3a0cf6aad8
Signed-off-by: Samuel Panijel <samuel.panijel@arm.com>
Diffstat (limited to 'ethosu/vela/tflite_writer.py')
-rw-r--r-- | ethosu/vela/tflite_writer.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ethosu/vela/tflite_writer.py b/ethosu/vela/tflite_writer.py index 687b8876..8cabb0ac 100644 --- a/ethosu/vela/tflite_writer.py +++ b/ethosu/vela/tflite_writer.py @@ -25,6 +25,7 @@ from .errors import VelaError from .nn_graph import PassPlacement from .operation import Op from .tensor import MemType +from .tensor import TensorPurpose from .tflite import Buffer from .tflite import Metadata from .tflite import Model @@ -37,6 +38,7 @@ from .tflite_mapping import builtin_operator_inv_map from .tflite_mapping import BuiltinOperator from .tflite_mapping import datatype_inv_map + # ugh, the python flatbuffer interface is missing a method to add in file identifier. patching it in here: tflite_version = 3 @@ -345,7 +347,7 @@ class TFLiteSerialiser: all_tensors = [tens for nm, idx, tens in sorted((tens.name, idx, tens) for idx, tens in enumerate(tensor_set))] - scratch_tensors = [tens for tens in all_tensors if tens.name.endswith("scratch")] + scratch_tensors = [tens for tens in all_tensors if tens.purpose is TensorPurpose.Scratch] if len(scratch_tensors) == 0: scratch_tensor = None |