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>
diff --git a/ethosu/vela/npu_serialisation.py b/ethosu/vela/npu_serialisation.py
index f462168..06ea61d 100644
--- a/ethosu/vela/npu_serialisation.py
+++ b/ethosu/vela/npu_serialisation.py
@@ -82,7 +82,7 @@
         sg.scratch_fast_tensor = make_memory_tensor(
             sg.name + "_scratch_fast", scratch_fast_area, MemType.Scratch_fast, 0, False, arch
         )
-        sg.scratch_fast_tensor.purpose = TensorPurpose.Scratch
+        sg.scratch_fast_tensor.purpose = TensorPurpose.ScratchFast
     else:
         sg.scratch_tensor = scratch_tens
         sg.scratch_tensor.shape[0] += scratch_size
diff --git a/ethosu/vela/tflite_writer.py b/ethosu/vela/tflite_writer.py
index 687b887..8cabb0a 100644
--- a/ethosu/vela/tflite_writer.py
+++ b/ethosu/vela/tflite_writer.py
@@ -25,6 +25,7 @@
 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 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 @@
 
         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