aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/tflite_writer.py
diff options
context:
space:
mode:
authorSamuel Panijel <samuel.panijel@arm.com>2021-06-10 13:40:03 +0300
committertim.hall <tim.hall@arm.com>2021-07-05 11:01:19 +0000
commit6f4955aa7097b123bbf31aae4654547bb3e3c68c (patch)
tree72972b12a5e53743844bbc2d86c3fe50ae4fa425 /ethosu/vela/tflite_writer.py
parentb279844cae93353410210597535fdbf495cd0498 (diff)
downloadethos-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.py4
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