diff options
Diffstat (limited to 'src/armnn/backends/ClWorkloads')
4 files changed, 16 insertions, 6 deletions
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp index 9851a22dc6..be4c33500e 100644 --- a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp +++ b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp @@ -17,17 +17,20 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input, const TensorInfo& output, const Convolution2dDescriptor& descriptor, const TensorInfo& weights, - const TensorInfo& biases) + const boost::optional<TensorInfo>& biases) { const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input); const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output); const arm_compute::TensorInfo aclWeightsInfo = BuildArmComputeTensorInfo(weights); + arm_compute::TensorInfo aclBiasesInfo; arm_compute::TensorInfo *optionalAclBiasesInfo = nullptr; if (descriptor.m_BiasEnabled) { - aclBiasesInfo = BuildArmComputeTensorInfo(biases); + BOOST_ASSERT(biases.is_initialized()); + + aclBiasesInfo = BuildArmComputeTensorInfo(biases.get()); optionalAclBiasesInfo = &aclBiasesInfo; } diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp index c4ef152361..c79e476dd3 100644 --- a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp +++ b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp @@ -7,6 +7,8 @@ #include "backends/ClWorkloadUtils.hpp" +#include <boost/optional.hpp> + namespace armnn { @@ -14,6 +16,6 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input, const TensorInfo& output, const Convolution2dDescriptor& descriptor, const TensorInfo& weights, - const TensorInfo& biases); + const boost::optional<TensorInfo>& biases); } //namespace armnn diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp index cfb8485039..5a5775487b 100644 --- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp +++ b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp @@ -21,7 +21,7 @@ arm_compute::Status ClDepthwiseConvolutionWorkloadValidate(const TensorInfo& inp const TensorInfo& output, const DepthwiseConvolution2dDescriptor& descriptor, const TensorInfo& weights, - const TensorInfo& biases) + const boost::optional<TensorInfo>& biases) { const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input); const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output); @@ -29,9 +29,12 @@ arm_compute::Status ClDepthwiseConvolutionWorkloadValidate(const TensorInfo& inp arm_compute::TensorInfo aclBiasesInfo; arm_compute::TensorInfo *optionalAclBiasesInfo = nullptr; + if (descriptor.m_BiasEnabled) { - aclBiasesInfo = BuildArmComputeTensorInfo(biases); + BOOST_ASSERT(biases.is_initialized()); + + aclBiasesInfo = BuildArmComputeTensorInfo(biases.get()); optionalAclBiasesInfo = &aclBiasesInfo; } diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp index a879efc89e..502d570552 100644 --- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp +++ b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp @@ -7,6 +7,8 @@ #include "backends/ClWorkloadUtils.hpp" +#include <boost/optional.hpp> + namespace armnn { @@ -14,7 +16,7 @@ arm_compute::Status ClDepthwiseConvolutionWorkloadValidate(const TensorInfo& inp const TensorInfo& output, const DepthwiseConvolution2dDescriptor& descriptor, const TensorInfo& weights, - const TensorInfo& biases); + const boost::optional<TensorInfo>& biases); template<armnn::DataType... dataTypes> class ClDepthwiseConvolutionBaseWorkload : public TypedWorkload<DepthwiseConvolution2dQueueDescriptor, dataTypes...> |