24.02.1
|
#include "arm_compute/core/TensorShape.h"
#include "tests/framework/datasets/Datasets.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/CLPooling3dLayer.h"
#include "tests/CL/CLAccessor.h"
#include "tests/PaddingCalculator.h"
#include "tests/datasets/Pooling3dLayerDataset.h"
#include "tests/datasets/PoolingTypesDataset.h"
#include "tests/datasets/ShapeDatasets.h"
#include "tests/framework/Asserts.h"
#include "tests/framework/Macros.h"
#include "tests/validation/Validation.h"
#include "tests/validation/fixtures/Pooling3dLayerFixture.h"
Go to the source code of this file.
Namespaces | |
arm_compute | |
Copyright (c) 2017-2024 Arm Limited. | |
arm_compute::test | |
arm_compute::test::validation | |
Typedefs | |
template<typename T > | |
using | CLPooling3dLayerFixture = Pooling3dLayerValidationFixture< CLTensor, CLAccessor, CLPooling3dLayer, T > |
template<typename T > | |
using | CLSpecialPooling3dLayerFixture = SpecialPooling3dLayerValidationFixture< CLTensor, CLAccessor, CLPooling3dLayer, T > |
template<typename T > | |
using | CLPooling3dLayerGlobalFixture = Pooling3dLayerGlobalValidationFixture< CLTensor, CLAccessor, CLPooling3dLayer, T > |
template<typename T > | |
using | CLPooling3dLayerQuantizedFixture = Pooling3dLayerValidationQuantizedFixture< CLTensor, CLAccessor, CLPooling3dLayer, T > |
Functions | |
DATA_TEST_CASE (Validate, framework::DatasetMode::ALL, zip(zip(zip(framework::dataset::make("InputInfo", { TensorInfo(TensorShape(2U, 27U, 13U, 4U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(2U, 27U, 13U, 4U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(2U, 27U, 13U, 4U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(2U, 27U, 13U, 4U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 15U, 2U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(13U, 13U, 5U, 1U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 13U, 4U, 4U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 13U, 4U, 4U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 13U, 5U, 4U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(1U, 16U, 1U, 3U, 4U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 13U, 4U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 13U, 4U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 13U, 4U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 13U, 13U, 4U, 3U), 1, DataType::F32, DataLayout::NDHWC), }), framework::dataset::make("OutputInfo",{ TensorInfo(TensorShape(2U, 25U, 11U, 3U, 3U), 1, DataType::F16, DataLayout::NDHWC), TensorInfo(TensorShape(2U, 30U, 11U, 3U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(2U, 25U, 16U, 3U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(2U, 27U, 13U, 3U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 1U, 1U, 1U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 2U, 2U, 2U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 12U, 12U, 3U, 4U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 12U, 12U, 3U, 4U), 1, DataType::QASYMM8, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 1U, 1U, 1U, 4U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(1U, 15U, 1U, 2U, 4U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 6U, 6U, 2U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 6U, 6U, 2U, 2U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 6U, 6U, 2U, 3U), 1, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(5U, 6U, 6U, 2U, 3U), 1, DataType::F32, DataLayout::NDHWC), })), framework::dataset::make("PoolInfo", { Pooling3dLayerInfo(PoolingType::AVG, 3, Size3D(1, 1, 1), Padding3D(0, 0, 0)), Pooling3dLayerInfo(PoolingType::AVG, 2, Size3D(1, 1, 1), Padding3D(2, 0, 0)), Pooling3dLayerInfo(PoolingType::AVG, 2, Size3D(1, 1, 1), Padding3D(0, 0, 0)), Pooling3dLayerInfo(PoolingType::L2, 3, Size3D(1, 1, 1), Padding3D(0, 0, 0)), Pooling3dLayerInfo(PoolingType::AVG), Pooling3dLayerInfo(PoolingType::MAX), Pooling3dLayerInfo(PoolingType::AVG, 2, Size3D(), Padding3D(), false), Pooling3dLayerInfo(PoolingType::AVG, 2, Size3D(1U, 1U, 1U), Padding3D(), false), Pooling3dLayerInfo(PoolingType::AVG), Pooling3dLayerInfo(PoolingType::MAX, 2, Size3D(1, 1, 2), Padding3D(0, 0, 0), false), Pooling3dLayerInfo(PoolingType::AVG, 2, Size3D(2U, 2U, 2U), Padding3D(), false), Pooling3dLayerInfo(PoolingType::AVG, 1, Size3D(2U, 2U, 2U), Padding3D(2, 2, 2), true), Pooling3dLayerInfo(PoolingType::AVG, 1, Size3D(2U, 2U, 2U), Padding3D(2, 2, 2), false), Pooling3dLayerInfo(PoolingType::AVG, 3, Size3D(2U, 2U, 2U), Padding3D(2, 1, 2, 2, 1, 2), false, false, DimensionRoundingType::CEIL), })), framework::dataset::make("Expected", { false, false, false, false, true, false, false, false, true, false, true, false, false, false})), input_info, output_info, pool_info, expected) | |
FIXTURE_DATA_TEST_CASE (RunSmall, CLPooling3dLayerQuantizedFixture< uint8_t >, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small5dShapes(), combine(Pooling3DLayerDatasetQuantized, framework::dataset::make("DataType", DataType::QASYMM8))), framework::dataset::make("InputQuantInfo", { QuantizationInfo(1.f/127.f, 10), QuantizationInfo(1.f/127.f, 10) })), framework::dataset::make("OutputQuantInfo", { QuantizationInfo(1.f/127.f, 5), QuantizationInfo(1.f/127.f, 10) }))) | |
FIXTURE_DATA_TEST_CASE (RunLarge, CLPooling3dLayerQuantizedFixture< uint8_t >, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large5dShapes(), combine(Pooling3DLayerDatasetQuantized, framework::dataset::make("DataType", DataType::QASYMM8))), framework::dataset::make("InputQuantInfo", { QuantizationInfo(1.f/127.f, 10), QuantizationInfo(1.f/127.f, 10) })), framework::dataset::make("OutputQuantInfo", { QuantizationInfo(1.f/127.f, 5), QuantizationInfo(1.f/127.f, 10) }))) | |
FIXTURE_DATA_TEST_CASE (RunSmall, CLPooling3dLayerQuantizedFixture< int8_t >, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small5dShapes(), combine(Pooling3DLayerDatasetQuantized, framework::dataset::make("DataType", DataType::QASYMM8_SIGNED))), framework::dataset::make("InputQuantInfo", { QuantizationInfo(1.f/127.f, -10), QuantizationInfo(1.f/127.f, -10) })), framework::dataset::make("OutputQuantInfo", { QuantizationInfo(1.f/127.f, -5), QuantizationInfo(1.f/127.f, -10) }))) | |
FIXTURE_DATA_TEST_CASE (RunLarge, CLPooling3dLayerQuantizedFixture< int8_t >, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::Large5dShapes(), combine(Pooling3DLayerDatasetQuantized, framework::dataset::make("DataType", DataType::QASYMM8_SIGNED))), framework::dataset::make("InputQuantInfo", { QuantizationInfo(1.f/127.f, -10), QuantizationInfo(1.f/127.f, -10) })), framework::dataset::make("OutputQuantInfo", { QuantizationInfo(1.f/127.f, -5), QuantizationInfo(1.f/127.f, -10) }))) | |
FIXTURE_DATA_TEST_CASE (RunSpecial, CLSpecialPooling3dLayerFixture< float >, framework::DatasetMode::ALL, datasets::Pooling3dLayerDatasetSpecial() *framework::dataset::make("DataType", DataType::F32)) | |
FIXTURE_DATA_TEST_CASE (RunSmall, CLPooling3dLayerFixture< float >, framework::DatasetMode::PRECOMMIT, combine(datasets::Small5dShapes(), combine(Pooling3dLayerDatasetFPSmall, framework::dataset::make("DataType", DataType::F32)))) | |
FIXTURE_DATA_TEST_CASE (RunLarge, CLPooling3dLayerFixture< float >, framework::DatasetMode::NIGHTLY, combine(datasets::Large5dShapes(), combine(Pooling3dLayerDatasetFP, framework::dataset::make("DataType", DataType::F32)))) | |
FIXTURE_DATA_TEST_CASE (RunSmall, CLPooling3dLayerFixture< float >, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(framework::dataset::make("InputShape", { TensorShape(3U, 27U, 13U, 4U), TensorShape(4U, 27U, 13U, 4U, 2U) }), framework::dataset::make("PoolingType", { PoolingType::AVG, PoolingType::L2, PoolingType::MAX })), framework::dataset::make("PoolingSize", { Size3D(27, 13, 4) })), framework::dataset::make("Strides", Size3D(1, 1, 1))), framework::dataset::make("Paddings", Padding3D(0, 0, 0))), framework::dataset::make("ExcludePadding", false)), framework::dataset::make("DataType", DataType::F32))) | |
FIXTURE_DATA_TEST_CASE (RunSmallGlobal, CLPooling3dLayerGlobalFixture< float >, framework::DatasetMode::ALL, combine(combine(framework::dataset::make("InputShape", { TensorShape(27U, 13U, 4U, 3U), TensorShape(27U, 13U, 4U, 4U, 2U) }), framework::dataset::make("PoolingType", { PoolingType::AVG, PoolingType::L2, PoolingType::MAX })), framework::dataset::make("DataType", DataType::F32))) | |
FIXTURE_DATA_TEST_CASE (RunLarge, CLPooling3dLayerFixture< float >, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(combine(combine(framework::dataset::make("InputShape", { TensorShape(4U, 79U, 37U, 11U), TensorShape(4U, 79U, 37U, 11U, 2U) }), framework::dataset::make("PoolingType", { PoolingType::AVG, PoolingType::L2, PoolingType::MAX })), framework::dataset::make("PoolingSize", { Size3D(79, 37, 11) })), framework::dataset::make("Strides", Size3D(1, 1, 1))), framework::dataset::make("Paddings", Padding3D(0, 0, 0))), framework::dataset::make("ExcludePadding", false)), framework::dataset::make("DataType", DataType::F32))) | |
TEST_SUITE_END () FIXTURE_DATA_TEST_CASE(RunSmall = ActivationValidationQuantizedFixture<CLTensor, CLAccessor, CLActivationLayer, T> | |
[CLActivationLayer Test snippet] More... | |
combine (datasets::Small5x5Shapes(), combine(Pooling3dLayerDatasetFPSmall, framework::dataset::make("DataType", DataType::F16)))) | |
FIXTURE_DATA_TEST_CASE (RunLarge, CLPooling3dLayerFixture< half >, framework::DatasetMode::NIGHTLY, combine(datasets::Large5dShapes(), combine(Pooling3dLayerDatasetFP, framework::dataset::make("DataType", DataType::F16)))) | |
FIXTURE_DATA_TEST_CASE (RunSmall, CLPooling3dLayerFixture< half >, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(framework::dataset::make("InputShape", { TensorShape(3U, 27U, 13U, 4U), TensorShape(4U, 27U, 13U, 4U, 2U) }), framework::dataset::make("PoolingType", { PoolingType::AVG, PoolingType::L2, PoolingType::MAX })), framework::dataset::make("PoolingSize", { Size3D(27, 13, 4) })), framework::dataset::make("Strides", Size3D(1, 1, 1))), framework::dataset::make("Paddings", Padding3D(0, 0, 0))), framework::dataset::make("ExcludePadding", false)), framework::dataset::make("DataType", DataType::F16))) | |
FIXTURE_DATA_TEST_CASE (RunSmallGlobal, CLPooling3dLayerGlobalFixture< half >, framework::DatasetMode::ALL, combine(combine(framework::dataset::make("InputShape", { TensorShape(27U, 13U, 4U, 3U), TensorShape(27U, 13U, 4U, 4U, 2U) }), framework::dataset::make("PoolingType", { PoolingType::AVG, PoolingType::L2, PoolingType::MAX })), framework::dataset::make("DataType", DataType::F16))) | |
FIXTURE_DATA_TEST_CASE (RunLarge, CLPooling3dLayerFixture< half >, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(combine(combine(framework::dataset::make("InputShape", { TensorShape(4U, 79U, 37U, 11U), TensorShape(4U, 79U, 37U, 11U, 2U) }), framework::dataset::make("PoolingType", { PoolingType::AVG, PoolingType::L2, PoolingType::MAX })), framework::dataset::make("PoolingSize", { Size3D(79, 37, 11) })), framework::dataset::make("Strides", Size3D(1, 1, 1))), framework::dataset::make("Paddings", Padding3D(0, 0, 0))), framework::dataset::make("ExcludePadding", false)), framework::dataset::make("DataType", DataType::F16))) | |
Variables | |
CLPooling3dLayerFixture< half > | |