From fecd9ed396705a17805ffc49839bd82ae24c892b Mon Sep 17 00:00:00 2001 From: Teresa Charlin Date: Tue, 9 May 2023 15:47:16 +0100 Subject: IVGCVSW-7454 Enable dynamic bias in CpuAcc and GpuAcc in Conv2d DWConv and FC Signed-off-by: Teresa Charlin Change-Id: Ib6914a9a208475b68e969eba6f70fae4061efa9b --- src/backends/cl/workloads/ClConvolution2dWorkload.cpp | 8 -------- src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp | 8 -------- src/backends/cl/workloads/ClFullyConnectedWorkload.cpp | 9 --------- 3 files changed, 25 deletions(-) (limited to 'src/backends/cl/workloads') diff --git a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp index d6a72e6488..68dfdaaf54 100644 --- a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp +++ b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp @@ -42,12 +42,6 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input, if (descriptor.m_BiasEnabled) { ARMNN_ASSERT(biases.has_value()); - // Same for bias as weights. We don't currently support non const. - if (!biases.value().IsConstant()) - { - return arm_compute::Status{arm_compute::ErrorCode::RUNTIME_ERROR, - "ArmNN ClConvolution2dWorkload does not support non constant bias."}; - } aclBiasesInfo = BuildArmComputeTensorInfo(biases.value(), descriptor.m_DataLayout); aclBiasesInfo.set_are_values_constant(biases.value().IsConstant()); optionalAclBiasesInfo = &aclBiasesInfo; @@ -94,8 +88,6 @@ ClConvolution2dWorkload::ClConvolution2dWorkload(const Convolution2dQueueDescrip { arm_compute::ICLTensor& bias = static_cast(m_Data.m_Inputs[2])->GetTensor(); bias.info()->set_are_values_constant(info.m_InputTensorInfos[2].IsConstant()); - // We do not support dynamic bias - ARMNN_ASSERT(info.m_InputTensorInfos[2].IsConstant() == true); m_BiasProxy = std::make_unique(&bias); } diff --git a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp index e6c9cb5c20..05f95ff71d 100644 --- a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp +++ b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp @@ -55,12 +55,6 @@ arm_compute::Status ClDepthwiseConvolutionWorkloadValidate(const TensorInfo& inp if (descriptor.m_BiasEnabled) { ARMNN_ASSERT(biases.has_value()); - // Same for bias as weights. We don't currently support non const. - if (!biases.value().IsConstant()) - { - return arm_compute::Status{arm_compute::ErrorCode::RUNTIME_ERROR, - "ArmNN ClDepthwiseConv2dWorkload does not support non constant bias."}; - } aclBiasesInfo = BuildArmComputeTensorInfo(biases.value(), descriptor.m_DataLayout); aclBiasesInfo.set_are_values_constant(biases.value().IsConstant()); optionalAclBiasesInfo = &aclBiasesInfo; @@ -112,8 +106,6 @@ ClDepthwiseConvolutionWorkload::ClDepthwiseConvolutionWorkload( { bias = &PolymorphicDowncast(m_Data.m_Inputs[2])->GetTensor(); bias->info()->set_are_values_constant(info.m_InputTensorInfos[2].IsConstant()); - // We do not support dynamic bias - ARMNN_ASSERT(info.m_InputTensorInfos[2].IsConstant() == true); } const arm_compute::Size2D aclDilationInfo = BuildArmComputeSize2D( diff --git a/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp b/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp index 1f26b09964..727ae5634a 100644 --- a/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp +++ b/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp @@ -33,12 +33,6 @@ arm_compute::Status ClFullyConnectedWorkloadValidate(const TensorInfo& input, if (descriptor.m_BiasEnabled) { ARMNN_ASSERT(biases.has_value()); - // Same for bias as weights. We don't currently support non const. - if (!biases.value().IsConstant()) - { - return arm_compute::Status{arm_compute::ErrorCode::RUNTIME_ERROR, - "Arm NN ClFullyConnectedWorkload does not support non constant bias."}; - } aclBiases = BuildArmComputeTensorInfo(biases.value()); aclBiases.set_are_values_constant(biases.value().IsConstant()); optionalAclBiases = &aclBiases; @@ -74,9 +68,6 @@ ClFullyConnectedWorkload::ClFullyConnectedWorkload( { bias = &PolymorphicDowncast(m_Data.m_Inputs[2])->GetTensor(); bias->info()->set_are_values_constant(info.m_InputTensorInfos[2].IsConstant()); - - // We do not support dynamic bias - ARMNN_ASSERT(info.m_InputTensorInfos[2].IsConstant() == true); } const arm_compute::ActivationLayerInfo activationInfo = ConvertAdditionalInfoToAclActivationLayerInfo(descriptor); -- cgit v1.2.1