aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Lamberti <derek.lamberti@arm.com>2019-12-19 15:45:35 +0000
committerKevin May <kevin.may@arm.com>2019-12-19 17:41:10 +0000
commit2c90f75496d2c0210a43f35ddb75f6492dd06490 (patch)
tree6cd95f16e1b5efc8aa002ea199da253d56336e93
parentd2697984e7d7989f5a8154c46a1bf37d98479415 (diff)
downloadandroid-nn-driver-2c90f75496d2c0210a43f35ddb75f6492dd06490.tar.gz
IVGCVSW-4301 Correctly validate reshape for broadcastable inputs
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Change-Id: I4db6ea4ed0a192c85f124c4a9ced60b1666a3870
-rw-r--r--1.2/HalPolicy.cpp6
-rw-r--r--ConversionUtils.hpp12
2 files changed, 9 insertions, 9 deletions
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 2cb84972..4d779c29 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -1300,7 +1300,7 @@ bool HalPolicy::ConvertMaximum(const Operation& operation, const Model& model, C
IConnectableLayer* layer = data.m_Network->AddMaximumLayer();
assert(layer != nullptr);
- bool isReshapeSupported = BroadcastTensor(input0, input1, outInfo, layer, data);
+ bool isReshapeSupported = BroadcastTensor(input0, input1, layer, data);
if (!isReshapeSupported)
{
return false;
@@ -1355,7 +1355,7 @@ bool HalPolicy::ConvertMinimum(const Operation& operation, const Model& model, C
IConnectableLayer* const layer = data.m_Network->AddMinimumLayer();
assert(layer != nullptr);
- bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, layer, data);
+ bool isReshapeSupported = BroadcastTensor(input0, input1, layer, data);
if (!isReshapeSupported)
{
return false;
@@ -1518,7 +1518,7 @@ bool HalPolicy::ConvertPrelu(const Operation& operation, const Model& model, Con
return Fail("%s: AddPreluLayer failed", __func__);
}
- bool isReshapeSupported = BroadcastTensor(input, alpha, outputInfo, layer, data);
+ bool isReshapeSupported = BroadcastTensor(input, alpha, layer, data);
if (!isReshapeSupported)
{
return false;
diff --git a/ConversionUtils.hpp b/ConversionUtils.hpp
index 4e4b4d6b..a342d399 100644
--- a/ConversionUtils.hpp
+++ b/ConversionUtils.hpp
@@ -236,7 +236,7 @@ armnn::IConnectableLayer& AddReshapeLayer(armnn::INetwork& network, LayerHandleT
return *reshapeLayer;
}
-bool BroadcastTensor(LayerInputHandle& input0, LayerInputHandle& input1, const armnn::TensorInfo& outputInfo,
+bool BroadcastTensor(LayerInputHandle& input0, LayerInputHandle& input1,
armnn::IConnectableLayer* startLayer, ConversionData& data)
{
BOOST_ASSERT(startLayer != nullptr);
@@ -286,8 +286,8 @@ bool BroadcastTensor(LayerInputHandle& input0, LayerInputHandle& input1, const a
IsReshapeSupported,
data.m_Backends,
isSupported,
+ smallInfo,
reshapedInfo,
- outputInfo,
reshapeDescriptor);
if (!isSupported)
{
@@ -1584,7 +1584,7 @@ bool ConvertAdd(const Operation& operation, const Model& model, ConversionData&
if (endLayer != nullptr)
{
- bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+ bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
if (!isReshapeSupported)
{
return false;
@@ -2398,7 +2398,7 @@ bool ConvertDiv(const Operation& operation, const Model& model, ConversionData&
if (endLayer)
{
- bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+ bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
if (!isReshapeSupported)
{
return false;
@@ -2974,7 +2974,7 @@ bool ConvertMul(const Operation& operation, const Model& model, ConversionData&
if (endLayer != nullptr)
{
- bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+ bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
if (!isReshapeSupported)
{
return false;
@@ -3183,7 +3183,7 @@ bool ConvertSub(const Operation& operation, const Model& model, ConversionData&
if (endLayer)
{
- bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+ bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
if (!isReshapeSupported)
{
return false;