aboutsummaryrefslogtreecommitdiff
path: root/src/armnnOnnxParser/OnnxParser.cpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2021-09-15 17:30:37 +0100
committerJim Flynn <jim.flynn@arm.com>2021-09-16 09:08:39 +0000
commitf106ab745a12a5c773a9c315dcddef0c8bf11225 (patch)
treed0d3f2ca4e084c044e50fc1950f2fe933e309992 /src/armnnOnnxParser/OnnxParser.cpp
parent7ba84d6881685d6ebfedc597a9af98b16fa42d51 (diff)
downloadarmnn-f106ab745a12a5c773a9c315dcddef0c8bf11225.tar.gz
Add support for Clip with attribute on ONNX parser
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I1bae42dade7eabf3da09252066e912e803a8ea32
Diffstat (limited to 'src/armnnOnnxParser/OnnxParser.cpp')
-rw-r--r--src/armnnOnnxParser/OnnxParser.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/armnnOnnxParser/OnnxParser.cpp b/src/armnnOnnxParser/OnnxParser.cpp
index a7e6902fdd..49f0271aeb 100644
--- a/src/armnnOnnxParser/OnnxParser.cpp
+++ b/src/armnnOnnxParser/OnnxParser.cpp
@@ -1189,8 +1189,16 @@ void OnnxParserImpl::ParseActivation(const onnx::NodeProto& node, const armnn::A
if (func == ActivationFunction::BoundedReLu)
{
- desc.m_A = node.input(2).empty() ? std::numeric_limits<float>::max() : std::stof(node.input(2));
- desc.m_B = node.input(1).empty() ? std::numeric_limits<float>::lowest() : std::stof(node.input(1));
+ if (node.input_size() == 1 && node.attribute_size() > 0)
+ {
+ desc.m_A = ReadOptionalNodeFloatAttribute(node, "max", std::numeric_limits<float>::max());
+ desc.m_B = ReadOptionalNodeFloatAttribute(node, "min", std::numeric_limits<float>::lowest());
+ }
+ else
+ {
+ desc.m_A = node.input(2).empty() ? std::numeric_limits<float>::max() : std::stof(node.input(2));
+ desc.m_B = node.input(1).empty() ? std::numeric_limits<float>::lowest() : std::stof(node.input(1));
+ }
}
IConnectableLayer* const layer = m_Network->AddActivationLayer(desc, node.name().c_str());