aboutsummaryrefslogtreecommitdiff
path: root/ConversionUtils.hpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-07-09 17:44:24 +0100
committerÁron Virginás-Tar <aron.virginas-tar@arm.com>2019-07-09 16:55:01 +0000
commitf03fcf0dd180ba2c87648a524fcca9214e1f979b (patch)
tree99eb4643dec16db121b8702a4829f9c8323f5b45 /ConversionUtils.hpp
parent177fa0ba936eaf9de96f04bb91aa51d7656dd655 (diff)
downloadandroid-nn-driver-f03fcf0dd180ba2c87648a524fcca9214e1f979b.tar.gz
IVGCVSW-3456 Add support for dynamic output shape in ConvertPrelu
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I8fc7a716455be3f51b51177f6896a73790a41fc3
Diffstat (limited to 'ConversionUtils.hpp')
-rw-r--r--ConversionUtils.hpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/ConversionUtils.hpp b/ConversionUtils.hpp
index d30b8a4e..c9be0003 100644
--- a/ConversionUtils.hpp
+++ b/ConversionUtils.hpp
@@ -1028,7 +1028,8 @@ bool SetupAndTrackLayerOutputSlot(const HalOperation& operation,
armnn::IConnectableLayer& layer,
uint32_t layerOutputIndex,
const HalModel& model,
- ConversionData& data)
+ ConversionData& data,
+ const armnn::Optional<armnn::TensorInfo>& outputInfo = armnn::EmptyOptional())
{
using HalOperand = typename HalPolicy::Operand;
@@ -1043,7 +1044,15 @@ bool SetupAndTrackLayerOutputSlot(const HalOperation& operation,
const uint32_t operandIndex = operation.outputs[operationOutputIndex];
data.m_OutputSlotForOperand[operandIndex] = &outputSlot;
- outputSlot.SetTensorInfo(GetTensorInfoForOperand(*outputOperand));
+ if (outputInfo.has_value())
+ {
+ outputSlot.SetTensorInfo(outputInfo.value());
+ ALOGD("Output info overwritten");
+ }
+ else
+ {
+ outputSlot.SetTensorInfo(GetTensorInfoForOperand(*outputOperand));
+ }
return true;
}
@@ -1092,9 +1101,16 @@ bool SetupAndTrackLayerOutputSlot(const HalOperation& operation,
uint32_t outputIndex,
armnn::IConnectableLayer& layer,
const HalModel& model,
- ConversionData& data)
+ ConversionData& data,
+ const armnn::Optional<armnn::TensorInfo>& outputInfo = armnn::EmptyOptional())
{
- return SetupAndTrackLayerOutputSlot<HalPolicy>(operation, outputIndex, layer, outputIndex, model, data);
+ return SetupAndTrackLayerOutputSlot<HalPolicy>(operation,
+ outputIndex,
+ layer,
+ outputIndex,
+ model,
+ data,
+ outputInfo);
}
template<typename HalPolicy,