30 #include "tests/datasets/BorderModeDataset.h" 31 #include "tests/datasets/ShapeDatasets.h" 36 #include "tests/validation/fixtures/LaplacianPyramidFixture.h" 49 AbsoluteTolerance<int16_t> tolerance_int16(1);
56 inline void validate_laplacian_pyramid(
const CLPyramid &target,
const std::vector<SimpleTensor<T>> &reference,
BorderMode border_mode)
58 CLTensor *level_image = target.get_pyramid_level(0);
62 validate(CLAccessor(*level_image), reference[0], valid_region);
65 for(
size_t lev = 1; lev < target.info()->num_levels(); lev++)
67 level_image = target.get_pyramid_level(lev);
68 CLTensor *prev_level_image = target.get_pyramid_level(lev - 1);
71 prev_level_image->info()->valid_region(),
75 validate(CLAccessor(*level_image), reference[lev], valid_region, tolerance_int16);
90 datasets::Medium2DShapes(),
91 datasets::BorderModes()),
92 small_laplacian_pyramid_levels),
95 validate_laplacian_pyramid(_target, _reference, _border_mode);
100 datasets::Large2DShapes(),
101 datasets::BorderModes()),
102 large_laplacian_pyramid_levels),
105 validate_laplacian_pyramid(_target, _reference, _border_mode);
BorderMode
Methods available to handle borders.
1 channel, 1 U8 per channel
Basic function to execute laplacian pyramid.
std::enable_if< is_container< T >::value, ContainerDataset< T > >::type make(std::string name, T &&values)
Helper function to create a ContainerDataset.
const ValidRegion valid_region
Copyright (c) 2017-2021 Arm Limited.
ValidRegion shape_to_valid_region_laplacian_pyramid(const TensorShape &a_shape, const ValidRegion &a_valid_region, bool border_undefined=false)
Create a valid region for Laplacian Pyramid based on tensor shape and valid region at level "i - 1" a...
DatasetMode
Possible dataset modes.
Basic implementation of the OpenCL pyramid interface.
TEST_SUITE_END() FIXTURE_DATA_TEST_CASE(RunSmall
[CLActivationLayer Test snippet]
Accessor implementation for CLTensor objects.
TEST_SUITE(U8_to_S8) FIXTURE_DATA_TEST_CASE(RunSmall
validate(CLAccessor(output_state), expected_output)
1 channel, 1 S16 per channel
FIXTURE_DATA_TEST_CASE(RunSmall, CLAbsLayerFixture< half >, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F16)))
Borders are left undefined.
LaplacianPyramidValidationFixture< CLTensor, CLAccessor, CLLaplacianPyramid, uint8_t, int16_t, CLPyramid > CLLaplacianPyramidFixture
combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)))
ValidRegion shape_to_valid_region(const TensorShape &a_shape, bool border_undefined=false, BorderSize border_size=BorderSize(0))
Create a valid region based on tensor shape, border mode and border size.
Basic implementation of the OpenCL tensor interface.