From 4686af0384d6102dc637cfb0ef0c576c6663e7cc Mon Sep 17 00:00:00 2001 From: Matthew Bentham Date: Tue, 2 Jul 2019 15:45:18 +0100 Subject: IVGCVSW-3307 TransposeConvolution: Don't call Map() before Execute() Change-Id: I7a812eafc8c73d074049ba95189cbc17d276eee3 Signed-off-by: Matthew Bentham --- .../reference/workloads/RefTransposeConvolution2dWorkload.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.cpp b/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.cpp index ec600305a7..2ab76041ef 100644 --- a/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.cpp +++ b/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.cpp @@ -21,7 +21,7 @@ RefTransposeConvolution2dWorkload::RefTransposeConvolution2dWorkload( m_Weights = std::make_unique(*(descriptor.m_Weight)); const TensorInfo& weightsInfo = m_Weights->GetTensorInfo(); - m_WeightsDecoder = MakeDecoder(weightsInfo, m_Weights.get()->Map(true)); + m_WeightsDecoder = MakeDecoder(weightsInfo, m_Weights->Map(true)); m_WeightsShape = weightsInfo.GetShape(); // set up biases decoder @@ -29,7 +29,7 @@ RefTransposeConvolution2dWorkload::RefTransposeConvolution2dWorkload( { m_Biases = std::make_unique(*(descriptor.m_Bias)); const TensorInfo& biasesInfo = m_Biases->GetTensorInfo(); - m_BiasesDecoder = MakeDecoder(biasesInfo, m_Biases.get()->Map(true)); + m_BiasesDecoder = MakeDecoder(biasesInfo, m_Biases->Map(true)); } } @@ -40,20 +40,23 @@ void RefTransposeConvolution2dWorkload::PostAllocationConfigure() const TensorInfo& inputInfo = GetTensorInfo(input); m_InputShape = inputInfo.GetShape(); - m_InputDecoder = MakeDecoder(inputInfo, input->Map()); + m_InputDecoder = MakeDecoder(inputInfo); // set up output encoder ITensorHandle* output = m_Data.m_Outputs[0]; const TensorInfo& outputInfo = GetTensorInfo(output); m_OutputShape = outputInfo.GetShape(); - m_OutputEncoder = MakeEncoder(outputInfo, output->Map()); + m_OutputEncoder = MakeEncoder(outputInfo); } void RefTransposeConvolution2dWorkload::Execute() const { ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefTransposeConvolution2dWorkload_Execute"); + m_InputDecoder->Reset(m_Data.m_Inputs[0]->Map()); + m_OutputEncoder->Reset(m_Data.m_Outputs[0]->Map()); + TransposeConvolution2dImpl(m_Data.m_Parameters, m_InputShape, *m_InputDecoder, -- cgit v1.2.1