aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGiorgio Arena <giorgio.arena@arm.com>2019-08-05 14:00:35 +0100
committerGiorgio Arena <giorgio.arena@arm.com>2019-08-15 15:33:51 +0000
commit70e890e45c4adc69963240b0ca8c2016566d8c18 (patch)
treec4e1510fc98446528b13d9aa1f4f7608064d8e47 /tests
parentf44fe3dfa30f673c95d904bb63753a11b6f64e33 (diff)
downloadComputeLibrary-70e890e45c4adc69963240b0ca8c2016566d8c18.tar.gz
COMPMID-2541 Remove DepthwiseSeparableConvolutionLayer for NEON/CL
Change-Id: I16750617fa9e1e97c6e3671e69965dcf3f4a086f Signed-off-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-on: https://review.mlplatform.org/c/1748 Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/benchmark/CL/DepthwiseSeparableConvolutionLayer.cpp54
-rw-r--r--tests/benchmark/fixtures/DepthwiseSeparableConvolutionLayerFixture.h111
-rw-r--r--tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h159
-rw-r--r--tests/datasets/system_tests/mobilenet/MobileNetDepthwiseSeparableConvolutionLayerDataset.h52
-rw-r--r--tests/validation/CL/DepthwiseSeparableConvolutionLayer.cpp66
-rw-r--r--tests/validation/NEON/DepthwiseSeparableConvolutionLayer.cpp66
-rw-r--r--tests/validation/fixtures/DepthwiseSeparableConvolutionLayerFixture.h154
-rw-r--r--tests/validation/reference/DepthwiseSeparableConvolutionLayer.cpp62
8 files changed, 0 insertions, 724 deletions
diff --git a/tests/benchmark/CL/DepthwiseSeparableConvolutionLayer.cpp b/tests/benchmark/CL/DepthwiseSeparableConvolutionLayer.cpp
deleted file mode 100644
index 17ac41decc..0000000000
--- a/tests/benchmark/CL/DepthwiseSeparableConvolutionLayer.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2017-2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/CL/CLTensor.h"
-#include "arm_compute/runtime/CL/CLTensorAllocator.h"
-#include "arm_compute/runtime/CL/functions/CLDepthwiseSeparableConvolutionLayer.h"
-#include "tests/CL/CLAccessor.h"
-#include "tests/benchmark/fixtures/DepthwiseSeparableConvolutionLayerFixture.h"
-#include "tests/datasets/system_tests/mobilenet/MobileNetDepthwiseSeparableConvolutionLayerDataset.h"
-#include "tests/framework/Macros.h"
-#include "tests/framework/datasets/Datasets.h"
-#include "utils/TypePrinter.h"
-
-namespace arm_compute
-{
-namespace test
-{
-namespace benchmark
-{
-const auto data_types = framework::dataset::make("DataType", { DataType::F32 });
-using CLDepthwiseSeparableConvolutionLayerFixture = DepthwiseSeparableConvolutionLayerFixture<CLTensor, CLDepthwiseSeparableConvolutionLayer, CLAccessor>;
-
-TEST_SUITE(CL)
-
-REGISTER_FIXTURE_DATA_TEST_CASE(MobileNetDepthwiseSeparableConvolutionLayer, CLDepthwiseSeparableConvolutionLayerFixture, framework::DatasetMode::ALL,
- framework::dataset::combine(framework::dataset::combine(datasets::MobileNetDepthwiseSeparableConvolutionLayerDataset(), data_types),
- framework::dataset::make("Batches", { 1 })));
-
-TEST_SUITE_END()
-} // namespace benchmark
-} // namespace test
-} // namespace arm_compute
diff --git a/tests/benchmark/fixtures/DepthwiseSeparableConvolutionLayerFixture.h b/tests/benchmark/fixtures/DepthwiseSeparableConvolutionLayerFixture.h
deleted file mode 100644
index 927bb4d64d..0000000000
--- a/tests/benchmark/fixtures/DepthwiseSeparableConvolutionLayerFixture.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2017-2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_TEST_DEPTHWISESEPARABLECONVOLUTIONLAYERFIXTURE
-#define ARM_COMPUTE_TEST_DEPTHWISESEPARABLECONVOLUTIONLAYERFIXTURE
-
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-#include "tests/Globals.h"
-#include "tests/Utils.h"
-#include "tests/framework/Fixture.h"
-
-namespace arm_compute
-{
-namespace test
-{
-namespace benchmark
-{
-/** Fixture that can be used for NEON and CL */
-template <typename TensorType, typename Function, typename Accessor>
-class DepthwiseSeparableConvolutionLayerFixture : public framework::Fixture
-{
-public:
- template <typename...>
- void setup(TensorShape src_shape, TensorShape depthwise_weights_shape, TensorShape depthwise_biases_shape, TensorShape depthwise_out_shape, TensorShape pointwise_weights_shape,
- TensorShape pointwise_biases_shape, TensorShape dst_shape,
- PadStrideInfo pad_stride_depthwise_info, PadStrideInfo pad_stride_pointwise_info, DataType data_type, int batches)
- {
- // Set batched in source and destination shapes
-
- src_shape.set(3 /* batch */, batches);
- depthwise_out_shape.set(3 /* batch */, batches);
- dst_shape.set(3 /* batch */, batches);
-
- src = create_tensor<TensorType>(src_shape, data_type, 1);
- depthwise_weights = create_tensor<TensorType>(depthwise_weights_shape, data_type, 1);
- depthwise_biases = create_tensor<TensorType>(depthwise_biases_shape, data_type, 1);
- depthwise_out = create_tensor<TensorType>(depthwise_out_shape, data_type, 1);
- pointwise_weights = create_tensor<TensorType>(pointwise_weights_shape, data_type, 1);
- pointwise_biases = create_tensor<TensorType>(pointwise_biases_shape, data_type, 1);
- dst = create_tensor<TensorType>(dst_shape, data_type, 1);
-
- // Create and configure function
- depth_sep_conv_layer.configure(&src, &depthwise_weights, &depthwise_biases, &depthwise_out, &pointwise_weights, &pointwise_biases, &dst, pad_stride_depthwise_info, pad_stride_pointwise_info);
-
- // Allocate tensors
- src.allocator()->allocate();
- depthwise_weights.allocator()->allocate();
- depthwise_biases.allocator()->allocate();
- depthwise_out.allocator()->allocate();
- pointwise_weights.allocator()->allocate();
- pointwise_biases.allocator()->allocate();
- dst.allocator()->allocate();
- }
-
- void run()
- {
- depth_sep_conv_layer.run();
- }
-
- void sync()
- {
- sync_if_necessary<TensorType>();
- sync_tensor_if_necessary<TensorType>(dst);
- }
-
- void teardown()
- {
- src.allocator()->free();
- depthwise_weights.allocator()->free();
- depthwise_biases.allocator()->free();
- depthwise_out.allocator()->free();
- pointwise_weights.allocator()->free();
- pointwise_biases.allocator()->free();
- dst.allocator()->free();
- }
-
-private:
- TensorType src{};
- TensorType depthwise_weights{};
- TensorType depthwise_biases{};
- TensorType depthwise_out{};
- TensorType pointwise_weights{};
- TensorType pointwise_biases{};
- TensorType dst{};
- Function depth_sep_conv_layer{};
-};
-} // namespace benchmark
-} // namespace test
-} // namespace arm_compute
-#endif /* ARM_COMPUTE_TEST_DEPTHWISESEPARABLECONVOLUTIONLAYERFIXTURE */
diff --git a/tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h b/tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h
deleted file mode 100644
index efc0cbd27e..0000000000
--- a/tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 2017 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_TEST_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_DATASET
-#define ARM_COMPUTE_TEST_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_DATASET
-
-#include "utils/TypePrinter.h"
-
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-
-namespace arm_compute
-{
-namespace test
-{
-namespace datasets
-{
-class DepthwiseSeparableConvolutionLayerDataset
-{
-public:
- using type = std::tuple<TensorShape, TensorShape, TensorShape, TensorShape, TensorShape, TensorShape, TensorShape, PadStrideInfo, PadStrideInfo>;
-
- struct iterator
- {
- iterator(std::vector<TensorShape>::const_iterator src_it,
- std::vector<TensorShape>::const_iterator filter_it,
- std::vector<TensorShape>::const_iterator filter_biases_it,
- std::vector<TensorShape>::const_iterator depthwise_out_it,
- std::vector<TensorShape>::const_iterator weights_it,
- std::vector<TensorShape>::const_iterator biases_it,
- std::vector<TensorShape>::const_iterator dst_it,
- std::vector<PadStrideInfo>::const_iterator depthwise_infos_it,
- std::vector<PadStrideInfo>::const_iterator pointwise_infos_it)
- : _src_it{ std::move(src_it) },
- _filter_it{ std::move(filter_it) },
- _filter_biases_it{ std::move(filter_biases_it) },
- _depthwise_out_it{ std::move(depthwise_out_it) },
- _weights_it{ std::move(weights_it) },
- _biases_it{ std::move(biases_it) },
- _dst_it{ std::move(dst_it) },
- _depthwise_infos_it{ std::move(depthwise_infos_it) },
- _pointwise_infos_it{ std::move(pointwise_infos_it) }
- {
- }
-
- std::string description() const
- {
- std::stringstream description;
- description << "In=" << *_src_it << ":";
- description << "Filter=" << *_filter_it << ":";
- description << "FilterBiases=" << *_filter_biases_it << ":";
- description << "DepthwiseOut=" << *_depthwise_out_it << ":";
- description << "Weights=" << *_weights_it << ":";
- description << "Biases=" << *_biases_it << ":";
- description << "Out=" << *_dst_it << ":";
- description << "DepthwiseInfo=" << *_depthwise_infos_it << ":";
- description << "PointwiseInfo=" << *_pointwise_infos_it;
- return description.str();
- }
-
- DepthwiseSeparableConvolutionLayerDataset::type operator*() const
- {
- return std::make_tuple(*_src_it, *_filter_it, *_filter_biases_it, *_depthwise_out_it, *_weights_it, *_biases_it, *_dst_it, *_depthwise_infos_it, *_pointwise_infos_it);
- }
-
- iterator &operator++()
- {
- ++_src_it;
- ++_filter_it;
- ++_filter_biases_it;
- ++_depthwise_out_it;
- ++_weights_it;
- ++_biases_it;
- ++_dst_it;
- ++_depthwise_infos_it;
- ++_pointwise_infos_it;
-
- return *this;
- }
-
- private:
- std::vector<TensorShape>::const_iterator _src_it;
- std::vector<TensorShape>::const_iterator _filter_it;
- std::vector<TensorShape>::const_iterator _filter_biases_it;
- std::vector<TensorShape>::const_iterator _depthwise_out_it;
- std::vector<TensorShape>::const_iterator _weights_it;
- std::vector<TensorShape>::const_iterator _biases_it;
- std::vector<TensorShape>::const_iterator _dst_it;
- std::vector<PadStrideInfo>::const_iterator _depthwise_infos_it;
- std::vector<PadStrideInfo>::const_iterator _pointwise_infos_it;
- };
-
- iterator begin() const
- {
- return iterator(_src_shapes.begin(), _filter_shapes.begin(), _filter_biases_shapes.begin(), _depthwise_out_shapes.begin(), _weight_shapes.begin(), _bias_shapes.begin(), _dst_shapes.begin(),
- _depthwise_infos.begin(),
- _pointwise_infos.begin());
- }
-
- int size() const
- {
- return std::min(_src_shapes.size(), std::min(_filter_shapes.size(), std::min(_filter_biases_shapes.size(), std::min(_depthwise_out_shapes.size(), std::min(_weight_shapes.size(),
- std::min(_bias_shapes.size(), std::min(_dst_shapes.size(),
- std::min(_depthwise_infos.size(), _pointwise_infos.size()))))))));
- }
-
- void add_config(TensorShape src, TensorShape filter, TensorShape filter_bias, TensorShape depthwise_out, TensorShape weights, TensorShape biases, TensorShape dst, PadStrideInfo depthwise_info,
- PadStrideInfo pointwise_info)
- {
- _src_shapes.emplace_back(std::move(src));
- _filter_shapes.emplace_back(std::move(filter));
- _filter_biases_shapes.emplace_back(std::move(filter_bias));
- _depthwise_out_shapes.emplace_back(std::move(depthwise_out));
- _weight_shapes.emplace_back(std::move(weights));
- _bias_shapes.emplace_back(std::move(biases));
- _dst_shapes.emplace_back(std::move(dst));
- _depthwise_infos.emplace_back(std::move(depthwise_info));
- _pointwise_infos.emplace_back(std::move(pointwise_info));
- }
-
-protected:
- DepthwiseSeparableConvolutionLayerDataset() = default;
- DepthwiseSeparableConvolutionLayerDataset(DepthwiseSeparableConvolutionLayerDataset &&) = default;
-
-private:
- std::vector<TensorShape> _src_shapes{};
- std::vector<TensorShape> _filter_shapes{};
- std::vector<TensorShape> _filter_biases_shapes{};
- std::vector<TensorShape> _depthwise_out_shapes{};
- std::vector<TensorShape> _weight_shapes{};
- std::vector<TensorShape> _bias_shapes{};
- std::vector<TensorShape> _dst_shapes{};
- std::vector<PadStrideInfo> _depthwise_infos{};
- std::vector<PadStrideInfo> _pointwise_infos{};
-};
-} // namespace datasets
-} // namespace test
-} // namespace arm_compute
-#endif /* ARM_COMPUTE_TEST_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_DATASET */
diff --git a/tests/datasets/system_tests/mobilenet/MobileNetDepthwiseSeparableConvolutionLayerDataset.h b/tests/datasets/system_tests/mobilenet/MobileNetDepthwiseSeparableConvolutionLayerDataset.h
deleted file mode 100644
index 1b4be253c1..0000000000
--- a/tests/datasets/system_tests/mobilenet/MobileNetDepthwiseSeparableConvolutionLayerDataset.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_TEST_MOBILENET_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_DATASET
-#define ARM_COMPUTE_TEST_MOBILENET_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_DATASET
-
-#include "tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h"
-
-#include "utils/TypePrinter.h"
-
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-
-namespace arm_compute
-{
-namespace test
-{
-namespace datasets
-{
-class MobileNetDepthwiseSeparableConvolutionLayerDataset final : public DepthwiseSeparableConvolutionLayerDataset
-{
-public:
- MobileNetDepthwiseSeparableConvolutionLayerDataset()
- {
- add_config(TensorShape(14U, 14U, 512U), TensorShape(3U, 3U, 512U), TensorShape(512U), TensorShape(14U, 14U, 512U), TensorShape(1U, 1U, 512U, 512U), TensorShape(512U), TensorShape(14U, 14U, 512U),
- PadStrideInfo(1, 1, 1, 1, DimensionRoundingType::FLOOR), PadStrideInfo(1, 1, 0, 0, DimensionRoundingType::FLOOR));
- }
-};
-} // namespace datasets
-} // namespace test
-} // namespace arm_compute
-#endif /* ARM_COMPUTE_TEST_MOBILENET_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_DATASET */
diff --git a/tests/validation/CL/DepthwiseSeparableConvolutionLayer.cpp b/tests/validation/CL/DepthwiseSeparableConvolutionLayer.cpp
deleted file mode 100644
index 43968f7e91..0000000000
--- a/tests/validation/CL/DepthwiseSeparableConvolutionLayer.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONCLCTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/CL/CLTensor.h"
-#include "arm_compute/runtime/CL/CLTensorAllocator.h"
-#include "arm_compute/runtime/CL/functions/CLDepthwiseSeparableConvolutionLayer.h"
-#include "tests/CL/CLAccessor.h"
-#include "tests/PaddingCalculator.h"
-#include "tests/datasets/system_tests/mobilenet/MobileNetDepthwiseSeparableConvolutionLayerDataset.h"
-#include "tests/framework/Asserts.h"
-#include "tests/framework/Macros.h"
-#include "tests/framework/datasets/Datasets.h"
-#include "tests/validation/Validation.h"
-#include "tests/validation/fixtures/DepthwiseSeparableConvolutionLayerFixture.h"
-
-namespace arm_compute
-{
-namespace test
-{
-namespace validation
-{
-namespace
-{
-RelativeTolerance<float> tolerance_f32(0.1f); /**< Tolerance value for comparing reference's output against implementation's output for DataType::F32 */
-const float tolerance_num = 0.001f;
-} // namespace
-
-TEST_SUITE(CL)
-TEST_SUITE(DepthwiseSeparableConvolutionLayer)
-
-// Configuration test to do
-
-template <typename T>
-using CLDepthwiseSeparableConvolutionLayerFixture = DepthwiseSeparableConvolutionValidationFixture<CLTensor, CLAccessor, CLDepthwiseSeparableConvolutionLayer, T>;
-
-FIXTURE_DATA_TEST_CASE(RunSmall, CLDepthwiseSeparableConvolutionLayerFixture<float>, framework::DatasetMode::PRECOMMIT, datasets::MobileNetDepthwiseSeparableConvolutionLayerDataset())
-{
- // Validate output
- validate(CLAccessor(_target), _reference, tolerance_f32, tolerance_num);
-}
-TEST_SUITE_END()
-TEST_SUITE_END()
-} // namespace validation
-} // namespace test
-} // namespace arm_compute
diff --git a/tests/validation/NEON/DepthwiseSeparableConvolutionLayer.cpp b/tests/validation/NEON/DepthwiseSeparableConvolutionLayer.cpp
deleted file mode 100644
index 9816a0db12..0000000000
--- a/tests/validation/NEON/DepthwiseSeparableConvolutionLayer.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2017, 2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONCLCTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/NEON/functions/NEDepthwiseSeparableConvolutionLayer.h"
-#include "arm_compute/runtime/Tensor.h"
-#include "arm_compute/runtime/TensorAllocator.h"
-#include "tests/NEON/Accessor.h"
-#include "tests/PaddingCalculator.h"
-#include "tests/datasets/system_tests/mobilenet/MobileNetDepthwiseSeparableConvolutionLayerDataset.h"
-#include "tests/framework/Asserts.h"
-#include "tests/framework/Macros.h"
-#include "tests/framework/datasets/Datasets.h"
-#include "tests/validation/Validation.h"
-#include "tests/validation/fixtures/DepthwiseSeparableConvolutionLayerFixture.h"
-
-namespace arm_compute
-{
-namespace test
-{
-namespace validation
-{
-namespace
-{
-RelativeTolerance<float> tolerance_f32(0.1f); /**< Tolerance value for comparing reference's output against implementation's output for DataType::F32 */
-const float tolerance_num = 0.001f;
-} // namespace
-
-TEST_SUITE(NEON)
-TEST_SUITE(DepthwiseSeparableConvolutionLayer)
-
-// Configuration test to do
-
-template <typename T>
-using NEDepthwiseSeparableConvolutionLayerFixture = DepthwiseSeparableConvolutionValidationFixture<Tensor, Accessor, NEDepthwiseSeparableConvolutionLayer, T>;
-
-FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthwiseSeparableConvolutionLayerFixture<float>, framework::DatasetMode::PRECOMMIT, datasets::MobileNetDepthwiseSeparableConvolutionLayerDataset())
-{
- // Validate output
- validate(Accessor(_target), _reference, tolerance_f32, tolerance_num);
-}
-TEST_SUITE_END()
-TEST_SUITE_END()
-} // namespace validation
-} // namespace test
-} // namespace arm_compute
diff --git a/tests/validation/fixtures/DepthwiseSeparableConvolutionLayerFixture.h b/tests/validation/fixtures/DepthwiseSeparableConvolutionLayerFixture.h
deleted file mode 100644
index 8bce60caf2..0000000000
--- a/tests/validation/fixtures/DepthwiseSeparableConvolutionLayerFixture.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2017 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef ARM_COMPUTE_TEST_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_FIXTURE
-#define ARM_COMPUTE_TEST_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_FIXTURE
-
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-#include "tests/AssetsLibrary.h"
-#include "tests/Globals.h"
-#include "tests/IAccessor.h"
-#include "tests/framework/Asserts.h"
-#include "tests/framework/Fixture.h"
-#include "tests/validation/Helpers.h"
-#include "tests/validation/reference/DepthwiseSeparableConvolutionLayer.h"
-
-#include <random>
-
-namespace arm_compute
-{
-namespace test
-{
-namespace validation
-{
-template <typename TensorType, typename AccessorType, typename FunctionType, typename T>
-class DepthwiseSeparableConvolutionValidationFixture : public framework::Fixture
-{
-public:
- template <typename...>
- void setup(TensorShape in_shape, TensorShape depthwise_weights_shape, TensorShape depthwise_biases_shape, TensorShape depthwise_out_shape, TensorShape pointwise_weights_shape,
- TensorShape pointwise_biases_shape, TensorShape output_shape,
- PadStrideInfo pad_stride_depthwise_info, PadStrideInfo pad_stride_pointwise_info)
- {
- _target = compute_target(in_shape, depthwise_weights_shape, depthwise_biases_shape, depthwise_out_shape, pointwise_weights_shape, pointwise_biases_shape, output_shape, pad_stride_depthwise_info,
- pad_stride_pointwise_info);
- _reference = compute_reference(in_shape, depthwise_weights_shape, depthwise_biases_shape, depthwise_out_shape, pointwise_weights_shape, pointwise_biases_shape, output_shape, pad_stride_depthwise_info,
- pad_stride_pointwise_info);
- }
-
-protected:
- template <typename U>
- void fill(U &&tensor, int i, bool zero_fill = false)
- {
- switch(tensor.data_type())
- {
- case DataType::F32:
- {
- std::uniform_real_distribution<> distribution((zero_fill) ? 0.f : -1.0f, (zero_fill) ? 0.f : 1.0f);
- library->fill(tensor, distribution, i);
- break;
- }
- default:
- library->fill_tensor_uniform(tensor, i);
- }
- }
-
- TensorType compute_target(const TensorShape &input_shape, const TensorShape &depthwise_weights_shape, const TensorShape &depthwise_biases_shape, const TensorShape &depthwise_out_shape,
- const TensorShape &pointwise_weights_shape, const TensorShape &pointwise_biases_shape, const TensorShape &output_shape,
- const PadStrideInfo &pad_stride_depthwise_info, const PadStrideInfo &pad_stride_pointwise_info)
- {
- // Create tensors
- TensorType src = create_tensor<TensorType>(input_shape, DataType::F32);
- TensorType depthwise_weights = create_tensor<TensorType>(depthwise_weights_shape, DataType::F32);
- TensorType depthwise_biases = create_tensor<TensorType>(depthwise_biases_shape, DataType::F32);
- TensorType depthwise_out = create_tensor<TensorType>(depthwise_out_shape, DataType::F32);
- TensorType pointwise_weights = create_tensor<TensorType>(pointwise_weights_shape, DataType::F32);
- TensorType pointwise_biases = create_tensor<TensorType>(pointwise_biases_shape, DataType::F32);
- TensorType dst = create_tensor<TensorType>(output_shape, DataType::F32);
-
- // Create Depthwise Separable Convolution Layer configure function
- FunctionType depthwise_separable_convolution_layer;
- depthwise_separable_convolution_layer.configure(&src, &depthwise_weights, &depthwise_biases, &depthwise_out, &pointwise_weights, &pointwise_biases, &dst, pad_stride_depthwise_info,
- pad_stride_pointwise_info);
-
- // Allocate tensors
- src.allocator()->allocate();
- depthwise_weights.allocator()->allocate();
- depthwise_biases.allocator()->allocate();
- depthwise_out.allocator()->allocate();
- pointwise_weights.allocator()->allocate();
- pointwise_biases.allocator()->allocate();
- dst.allocator()->allocate();
-
- ARM_COMPUTE_EXPECT(!src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!depthwise_weights.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!depthwise_biases.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!depthwise_out.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!pointwise_weights.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!pointwise_biases.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Fill tensors
- fill(AccessorType(src), 0);
- fill(AccessorType(depthwise_weights), 1);
- fill(AccessorType(depthwise_biases), 2, true);
- fill(AccessorType(pointwise_weights), 3);
- fill(AccessorType(pointwise_biases), 4);
-
- // Compute function
- depthwise_separable_convolution_layer.run();
-
- return dst;
- }
-
- SimpleTensor<T> compute_reference(const TensorShape &in_shape, const TensorShape &depthwise_weights_shape, const TensorShape &depthwise_biases_shape, const TensorShape &depthwise_out_shape,
- const TensorShape &pointwise_weights_shape, const TensorShape &pointwise_biases_shape, const TensorShape &dst_shape,
- const PadStrideInfo &pad_stride_depthwise_info, const PadStrideInfo &pad_stride_pointwise_info)
- {
- SimpleTensor<T> src(in_shape, DataType::F32);
- SimpleTensor<T> depthwise_weights(depthwise_weights_shape, DataType::F32);
- SimpleTensor<T> depthwise_biases(depthwise_biases_shape, DataType::F32);
- SimpleTensor<T> pointwise_weights(pointwise_weights_shape, DataType::F32);
- SimpleTensor<T> pointwise_biases(pointwise_biases_shape, DataType::F32);
-
- fill(src, 0);
- fill(depthwise_weights, 1);
- fill(depthwise_biases, 2, true);
- fill(pointwise_weights, 3);
- fill(pointwise_biases, 4);
-
- return reference::depthwise_separable_convolution_layer(src,
- depthwise_weights, depthwise_biases, depthwise_out_shape,
- pointwise_weights, pointwise_biases,
- dst_shape,
- pad_stride_depthwise_info, pad_stride_pointwise_info);
- }
-
- TensorType _target{};
- SimpleTensor<T> _reference{};
-};
-} // namespace validation
-} // namespace test
-} // namespace arm_compute
-#endif /* ARM_COMPUTE_TEST_DEPTHWISE_SEPARABLE_CONVOLUTION_LAYER_FIXTURE */
diff --git a/tests/validation/reference/DepthwiseSeparableConvolutionLayer.cpp b/tests/validation/reference/DepthwiseSeparableConvolutionLayer.cpp
deleted file mode 100644
index 8bc6ddb696..0000000000
--- a/tests/validation/reference/DepthwiseSeparableConvolutionLayer.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2017-2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include "DepthwiseConvolutionLayer.h"
-
-#include "DepthwiseSeparableConvolutionLayer.h"
-
-#include "ConvolutionLayer.h"
-#include "Utils.h"
-
-#include "tests/validation/Helpers.h"
-
-namespace arm_compute
-{
-namespace test
-{
-namespace validation
-{
-namespace reference
-{
-// Depthwise separable convolution layer
-template <typename T>
-SimpleTensor<T> depthwise_separable_convolution_layer(const SimpleTensor<T> &src, const SimpleTensor<T> &depthwise_weights, const SimpleTensor<T> &depthwise_biases,
- const TensorShape &depthwise_out_shape,
- const SimpleTensor<T> &pointwise_weights,
- const SimpleTensor<T> &pointwise_biases, const TensorShape &dst_shape, const PadStrideInfo &depthwise_conv_info, const PadStrideInfo &pointwise_conv_info)
-{
- // Compute reference
- SimpleTensor<T> depthwise_out = depthwise_convolution(src, depthwise_weights, depthwise_biases, depthwise_out_shape, depthwise_conv_info, 1);
- SimpleTensor<T> dst = convolution_layer(depthwise_out, pointwise_weights, pointwise_biases, dst_shape, pointwise_conv_info);
-
- return dst;
-}
-
-template SimpleTensor<float> depthwise_separable_convolution_layer(const SimpleTensor<float> &in, const SimpleTensor<float> &depthwise_weights, const SimpleTensor<float> &depthwise_biases,
- const TensorShape &depthwise_out_shape,
- const SimpleTensor<float> &pointwise_weights, const SimpleTensor<float> &pointwise_biases, const TensorShape &dst_shape, const PadStrideInfo &depthwise_conv_info,
- const PadStrideInfo &pointwise_conv_info);
-} // namespace reference
-} // namespace validation
-} // namespace test
-} // namespace arm_compute