aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/graph/backends
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-12-07 18:31:47 +0000
committerGeorgios Pinitas <georgios.pinitas@arm.com>2018-12-13 10:42:12 +0000
commit05045c1e052dbba4e44bf0bb8ead3e9b5220d04e (patch)
treee17a64e9cd0f0927bd75f540b6aeb55ba24953d4 /arm_compute/graph/backends
parent35767bc09f21050a9767a91b086b327afc928a81 (diff)
downloadComputeLibrary-05045c1e052dbba4e44bf0bb8ead3e9b5220d04e.tar.gz
COMPMID-1071: (3RDPARTY_UPDATE) Add depth multiplier on DepthwiseConv 3x3 NHWC
Change-Id: I316ff40dda379d4b84fac5d63f0c56efbacbc2b4 Reviewed-on: https://review.mlplatform.org/371 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'arm_compute/graph/backends')
-rw-r--r--arm_compute/graph/backends/FunctionHelpers.h3
-rw-r--r--arm_compute/graph/backends/ValidateHelpers.h9
2 files changed, 7 insertions, 5 deletions
diff --git a/arm_compute/graph/backends/FunctionHelpers.h b/arm_compute/graph/backends/FunctionHelpers.h
index 0d7210f7f8..3e71e3922a 100644
--- a/arm_compute/graph/backends/FunctionHelpers.h
+++ b/arm_compute/graph/backends/FunctionHelpers.h
@@ -447,7 +447,7 @@ std::unique_ptr<IFunction> create_depthwise_convolution_layer(DepthwiseConvoluti
const PadStrideInfo conv_info = node.convolution_info();
const DepthwiseConvolutionMethod dwc_algorithm = node.depthwise_convolution_method();
- const unsigned int depth_multiplier = 1;
+ const unsigned int depth_multiplier = node.depth_multiplier();
const ActivationLayerInfo fused_act = node.fused_activation();
// Create and configure function (we assume that functions have been validated before creation)
@@ -483,6 +483,7 @@ std::unique_ptr<IFunction> create_depthwise_convolution_layer(DepthwiseConvoluti
<< " Input shape: " << input->info()->tensor_shape()
<< " Weights shape: " << weights->info()->tensor_shape()
<< " Output shape: " << output->info()->tensor_shape()
+ << " Depth multiplier: " << depth_multiplier
<< (fused_act.enabled() ? " " + to_string(fused_act.activation()) : "")
<< std::endl);
return func;
diff --git a/arm_compute/graph/backends/ValidateHelpers.h b/arm_compute/graph/backends/ValidateHelpers.h
index a6864c2286..75e2363f82 100644
--- a/arm_compute/graph/backends/ValidateHelpers.h
+++ b/arm_compute/graph/backends/ValidateHelpers.h
@@ -182,8 +182,9 @@ Status validate_depthwise_convolution_layer(DepthwiseConvolutionLayerNode &node)
arm_compute::ITensorInfo *biases = get_backing_tensor_info(node.input(2));
arm_compute::ITensorInfo *output = get_backing_tensor_info(node.output(0));
- const PadStrideInfo conv_info = node.convolution_info();
- const DepthwiseConvolutionMethod dwc_algorithm = node.depthwise_convolution_method();
+ const PadStrideInfo conv_info = node.convolution_info();
+ const DepthwiseConvolutionMethod dwc_algorithm = node.depthwise_convolution_method();
+ const int depth_multiplier = node.depth_multiplier();
// Validate function
Status status{};
@@ -191,10 +192,10 @@ Status validate_depthwise_convolution_layer(DepthwiseConvolutionLayerNode &node)
{
case DepthwiseConvolutionMethod::Default:
case DepthwiseConvolutionMethod::GEMV:
- status = DepthwiseConvolutionLayer::validate(input, weights, biases, output, conv_info);
+ status = DepthwiseConvolutionLayer::validate(input, weights, biases, output, conv_info, depth_multiplier);
break;
case DepthwiseConvolutionMethod::Optimized3x3:
- status = DepthwiseConvolutionLayer3x3::validate(input, weights, biases, output, conv_info);
+ status = DepthwiseConvolutionLayer3x3::validate(input, weights, biases, output, conv_info, depth_multiplier);
break;
default:
ARM_COMPUTE_RETURN_ERROR_MSG("Unsupported depthwise convolution method");