diff options
author | Aron 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 |
commit | f03fcf0dd180ba2c87648a524fcca9214e1f979b (patch) | |
tree | 99eb4643dec16db121b8702a4829f9c8323f5b45 /ConversionUtils.hpp | |
parent | 177fa0ba936eaf9de96f04bb91aa51d7656dd655 (diff) | |
download | android-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.hpp | 24 |
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, |