diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2018-07-18 16:13:12 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:54 +0000 |
commit | 0f170396e84836ad8c54d54421e95c61812968be (patch) | |
tree | b8993f251e3c023aca2856b2784e67eb9f11c8a4 /tests/validation/fixtures | |
parent | b6eb35371d222c6b7f61210d97ebd7dd9e197458 (diff) | |
download | ComputeLibrary-0f170396e84836ad8c54d54421e95c61812968be.tar.gz |
COMPMID-1342 Add grouping support to CLIm2ColKernel
Change-Id: I4afb19751520a90fee27fb49b775cd10e92a94f5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140476
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/fixtures')
-rw-r--r-- | tests/validation/fixtures/Im2ColFixture.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tests/validation/fixtures/Im2ColFixture.h b/tests/validation/fixtures/Im2ColFixture.h index da2576b37c..b5e83a9872 100644 --- a/tests/validation/fixtures/Im2ColFixture.h +++ b/tests/validation/fixtures/Im2ColFixture.h @@ -50,13 +50,14 @@ class Im2ColValidationFixture : public framework::Fixture public: template <typename...> void setup(TensorShape input_shape, DataType data_type, const Size2D &kernel_dims, const PadStrideInfo &conv_info, const QuantizationInfo &quant_info, const DataLayout &data_layout, - bool channels_first_output_nhwc) + unsigned int num_groups, bool channels_first_output_nhwc) { _kernel_dims = kernel_dims; _conv_info = conv_info; _quant_info = quant_info; _data_layout = data_layout; _has_bias = data_type != DataType::QASYMM8; + _num_groups = num_groups; if(_data_layout == DataLayout::NHWC) { @@ -66,7 +67,7 @@ public: TensorInfo input_info(input_shape, 1, data_type); input_info.set_data_layout(_data_layout); - const TensorShape output_shape = compute_im2col_conv_shape(&input_info, _kernel_dims, _conv_info, _has_bias, Size2D(1U, 1U), batch_size_on_z); + const TensorShape output_shape = compute_im2col_conv_shape(&input_info, _kernel_dims, _conv_info, _has_bias, Size2D(1U, 1U), batch_size_on_z && _num_groups == 1, _num_groups); _target = compute_target(input_shape, output_shape, data_type); compute_reference(input_shape, output_shape, data_type, channels_first_output_nhwc); @@ -87,7 +88,7 @@ protected: // Create and configure function FunctionType im2col_func; - im2col_func.configure(&src, &dst, _kernel_dims, _conv_info, _has_bias); + im2col_func.configure(&src, &dst, _kernel_dims, _conv_info, _has_bias, Size2D(1U, 1U), _num_groups); ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS); ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS); @@ -117,7 +118,7 @@ protected: // Fill reference fill(src); - reference::im2col<T>(src, _reference, _kernel_dims, _conv_info, _has_bias, channels_first_output_nhwc); + reference::im2col<T>(src, _reference, _kernel_dims, _conv_info, _has_bias, _num_groups, channels_first_output_nhwc); } TensorType _target{}; SimpleTensor<T> _reference{}; @@ -126,6 +127,7 @@ protected: DataLayout _data_layout{}; QuantizationInfo _quant_info{}; bool _has_bias{}; + unsigned int _num_groups{}; }; } // namespace validation } // namespace test |