aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/tflite_reader.py
diff options
context:
space:
mode:
authorPatrik Gustavsson <patrik.gustavsson@arm.com>2021-06-30 09:07:16 +0200
committerPatrik Gustavsson <patrik.gustavsson@arm.com>2021-07-09 09:51:44 +0200
commit5e26eda0e0f359b6e22b1f1eeb9344cd15e0f093 (patch)
treedce92ab9d8a6ceb261c48353ff7077295efa21da /ethosu/vela/tflite_reader.py
parent8f1f9aaa58175b17cd2e505bfcdb0e40c955ea72 (diff)
downloadethos-u-vela-5e26eda0e0f359b6e22b1f1eeb9344cd15e0f093.tar.gz
MLBEDSW-4840 Move setting of input indices to tflite reader
Mapping to internal input indexing has been added to tflite_reader.py and tosa_reader.py. And the other way around in tflite_writer.py. Signed-off-by: Patrik Gustavsson <patrik.gustavsson@arm.com> Change-Id: I4d8596e747cfa7c4203884c4e785eb1977e2bcc1
Diffstat (limited to 'ethosu/vela/tflite_reader.py')
-rw-r--r--ethosu/vela/tflite_reader.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/ethosu/vela/tflite_reader.py b/ethosu/vela/tflite_reader.py
index 1a45a5ee..30bf32af 100644
--- a/ethosu/vela/tflite_reader.py
+++ b/ethosu/vela/tflite_reader.py
@@ -27,6 +27,7 @@ from .nn_graph import Subgraph
from .operation import create_activation_function
from .operation import Op
from .operation import Operation
+from .reader_util import align_tensor_indices_to_nng
from .reader_util import clone_and_reshape_tensor
from .reader_util import decode_str
from .reader_util import fixup_tensors
@@ -112,7 +113,7 @@ class TFLiteSubgraph:
return tens
def parse_operator(self, op_index, op_data):
- op_type, opt_serializer, custom_code = self.graph.operator_codes[op_data.OpcodeIndex()]
+ op_type, opt_serializer, custom_code, indices = self.graph.operator_codes[op_data.OpcodeIndex()]
inputs = [self.tensors[idx] if idx != -1 else None for idx in op_data.InputsAsNumpy()]
outputs = [self.tensors[idx] if idx != -1 else None for idx in op_data.OutputsAsNumpy()]
intermediates = []
@@ -122,6 +123,7 @@ class TFLiteSubgraph:
name = "unknown_op_name"
if len(outputs):
name = outputs[0].name
+ inputs = align_tensor_indices_to_nng(op_type, indices, inputs)
op = Operation(op_type, name)
op.op_index = op_index
op.inputs = inputs
@@ -263,11 +265,11 @@ class TFLiteGraph:
raise InputFileError(
self.name, f"The input file contains operator code '{c}' which is currently not supported"
)
- op_type, ser = builtin_operator_map[c]
+ op_type, ser, indices = builtin_operator_map[c]
custom_code = None
if c == BuiltinOperator.CUSTOM:
custom_code = decode_str(code.CustomCode())
- return op_type, ser, custom_code
+ return op_type, ser, custom_code, indices
def read_tflite(filename, batch_size, feed_dict, output_node_names, initialisation_nodes):