From 310d8ff46f26b6c656b417ac6dc59ef610aaa513 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Thu, 11 Jul 2019 10:53:38 +0100 Subject: IVGCVSW-3457 Fix VTS pad dynamic_output_shape test failures Signed-off-by: Sadik Armagan Change-Id: Icb9a308f19ac6adbcf0d1de4d8733b95bab3bf0a --- 1.2/HalPolicy.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to '1.2') diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp index 58fcf73c..cdf8c0f4 100644 --- a/1.2/HalPolicy.cpp +++ b/1.2/HalPolicy.cpp @@ -453,12 +453,6 @@ bool HalPolicy::ConvertPadV2(const Operation& operation, const Model& model, Con return Fail("%s: Could not read output", __func__); } - const armnn::TensorInfo& outputInfo = GetTensorInfoForOperand(*output); - if (IsDynamicOutput(outputInfo)) - { - return Fail("%s: Dynamic output not supported", __func__); - } - const armnn::TensorInfo& inputInfo = input.GetTensorInfo(); unsigned int rank = inputInfo.GetNumDimensions(); @@ -468,6 +462,13 @@ bool HalPolicy::ConvertPadV2(const Operation& operation, const Model& model, Con return Fail("%s: Could not convert paddings", __func__); } + armnn::TensorInfo outputInfo = GetTensorInfoForOperand(*output); + if (IsDynamicOutput(outputInfo)) + { + ALOGD("Output shape not set, will infer from inputs"); + outputInfo.SetShape(InferPadOutputShape(inputInfo.GetShape(), descriptor.m_PadList)); + } + // Determine type of padding value OperandType operandType0; OperandType operandType2; @@ -528,7 +529,12 @@ bool HalPolicy::ConvertPadV2(const Operation& operation, const Model& model, Con input.Connect(layer->GetInputSlot(0)); layer->GetOutputSlot(0).SetTensorInfo(outputInfo); - return SetupAndTrackLayerOutputSlot(operation, 0, *layer, model, data); + return SetupAndTrackLayerOutputSlot(operation, + 0, + *layer, + model, + data, + armnn::Optional(outputInfo)); } bool HalPolicy::ConvertPrelu(const Operation& operation, const Model& model, ConversionData& data) -- cgit v1.2.1