aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2023-05-23 14:16:28 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2023-05-23 21:07:31 +0000
commitd04873f16c261e166b0d90cecd77ae8e736e2e67 (patch)
treee9b407a461019e9cb2abc47e20d9539edf857bb7
parentf663d48716c3adb179d61055f56f25d11d9640e4 (diff)
downloadarmnn-d04873f16c261e166b0d90cecd77ae8e736e2e67.tar.gz
BugFix: check for options!=null before adding fused activation in TfLite parser
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I96fd26559450690fbe99a0e8fbe193ddf5d3a34b
-rw-r--r--src/armnnTfLiteParser/TfLiteParser.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/armnnTfLiteParser/TfLiteParser.cpp b/src/armnnTfLiteParser/TfLiteParser.cpp
index 5075da41c2..8b2d7a25bc 100644
--- a/src/armnnTfLiteParser/TfLiteParser.cpp
+++ b/src/armnnTfLiteParser/TfLiteParser.cpp
@@ -2444,8 +2444,10 @@ void TfLiteParserImpl::ParseSub(size_t subgraphIndex, size_t operatorIndex)
auto inputTensorIndexes = AsUnsignedVector(GetInputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterInputSlots(subgraphIndex, operatorIndex, layer, {inputTensorIndexes[0], inputTensorIndexes[1]});
-
- layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ if (options)
+ {
+ layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ }
auto outputTensorIndexes = AsUnsignedVector(GetOutputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterOutputSlots(subgraphIndex, operatorIndex, layer, {outputTensorIndexes[0]});
@@ -2476,7 +2478,10 @@ void TfLiteParserImpl::ParseDiv(size_t subgraphIndex, size_t operatorIndex)
auto inputTensorIndexes = AsUnsignedVector(GetInputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterInputSlots(subgraphIndex, operatorIndex, layer, {inputTensorIndexes[0], inputTensorIndexes[1]});
- layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ if (options)
+ {
+ layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ }
auto outputTensorIndexes = AsUnsignedVector(GetOutputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterOutputSlots(subgraphIndex, operatorIndex, layer, {outputTensorIndexes[0]});
@@ -2535,7 +2540,10 @@ void TfLiteParserImpl::ParseAdd(size_t subgraphIndex, size_t operatorIndex)
auto inputTensorIndexes = AsUnsignedVector(GetInputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterInputSlots(subgraphIndex, operatorIndex, layer, {inputTensorIndexes[0], inputTensorIndexes[1]});
- layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ if (options)
+ {
+ layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ }
auto outputTensorIndexes = AsUnsignedVector(GetOutputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterOutputSlots(subgraphIndex, operatorIndex, layer, {outputTensorIndexes[0]});
@@ -2566,7 +2574,10 @@ void TfLiteParserImpl::ParseMul(size_t subgraphIndex, size_t operatorIndex)
auto inputTensorIndexes = AsUnsignedVector(GetInputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterInputSlots(subgraphIndex, operatorIndex, layer, {inputTensorIndexes[0], inputTensorIndexes[1]});
- layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ if (options)
+ {
+ layer = AddFusedActivationLayer(layer, 0, options->fused_activation_function);
+ }
auto outputTensorIndexes = AsUnsignedVector(GetOutputTensorIds(m_Model, subgraphIndex, operatorIndex));
RegisterOutputSlots(subgraphIndex, operatorIndex, layer, {outputTensorIndexes[0]});