COMPMID-1188 Fix WeightsReshape doc
Change-Id: If15e06ad3aa092d32c4d88172a9fea79a7416b2b
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143128
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/core/CL/kernels/CLWeightsReshapeKernel.h b/arm_compute/core/CL/kernels/CLWeightsReshapeKernel.h
index 6c93c23..d3bbbaf 100644
--- a/arm_compute/core/CL/kernels/CLWeightsReshapeKernel.h
+++ b/arm_compute/core/CL/kernels/CLWeightsReshapeKernel.h
@@ -75,7 +75,8 @@
* @warning Appending biases to weights reshaped matrix is not supported for quantized asymmetric types.
* @param[out] output The output tensor. Should be a 2D Tensor if there are no groups and the weights are not shared; a 3D Tensor otherwise.
* Data types supported: Same as @p input
- * @param[in] num_groups (Optional) Number of groups when performing a grouped convolution
+ * @param[in] num_groups (Optional) Number of groups when performing a grouped convolution.
+ * Number of groups greater than one are only supported for NCHW data layout, and the number of weights must be a multiple of it.
*/
void configure(const ICLTensor *input, const ICLTensor *biases, ICLTensor *output, const unsigned int num_groups = 1);
/** Static function to check if given info will lead to a valid configuration of @ref CLWeightsReshapeKernel
@@ -87,7 +88,8 @@
* @warning Appending biases to weights reshaped matrix is not supported for quantized asymmetric types.
* @param[in] output The output tensor. Should be a 2D Tensor if there are no groups and the weights are not shared; a 3D Tensor otherwise.
* Data types supported: Same as @p input
- * @param[in] num_groups (Optional) Number of groups when performing a grouped convolution
+ * @param[in] num_groups (Optional) Number of groups when performing a grouped convolution.
+ * Number of groups greater than one are only supported for NCHW data layout, and the number of weights must be a multiple of it.
*
* @return a status
*/
diff --git a/arm_compute/core/utils/misc/ShapeCalculator.h b/arm_compute/core/utils/misc/ShapeCalculator.h
index 0a2a535..f726ce9 100644
--- a/arm_compute/core/utils/misc/ShapeCalculator.h
+++ b/arm_compute/core/utils/misc/ShapeCalculator.h
@@ -57,6 +57,8 @@
}
inline TensorShape compute_weights_reshaped_shape(const ITensorInfo &weights, bool has_bias = false, const unsigned int num_groups = 1)
{
+ // Number of groups greater than one are only supported for NCHW data layout, and the number of weights must be a multiple of it.
+
ARM_COMPUTE_ERROR_ON(num_groups == 0);
ARM_COMPUTE_ERROR_ON((weights.dimension(3) % num_groups) != 0);
ARM_COMPUTE_ERROR_ON(weights.data_layout() == DataLayout::NHWC && num_groups > 1);