From f03fcf0dd180ba2c87648a524fcca9214e1f979b Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Tue, 9 Jul 2019 17:44:24 +0100 Subject: IVGCVSW-3456 Add support for dynamic output shape in ConvertPrelu Signed-off-by: Aron Virginas-Tar Change-Id: I8fc7a716455be3f51b51177f6896a73790a41fc3 --- ConversionUtils.hpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'ConversionUtils.hpp') 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& 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& outputInfo = armnn::EmptyOptional()) { - return SetupAndTrackLayerOutputSlot(operation, outputIndex, layer, outputIndex, model, data); + return SetupAndTrackLayerOutputSlot(operation, + outputIndex, + layer, + outputIndex, + model, + data, + outputInfo); } template