diff options
Diffstat (limited to 'tests/validation')
-rw-r--r-- | tests/validation/CL/PadLayer.cpp | 12 | ||||
-rw-r--r-- | tests/validation/reference/PadLayer.cpp | 38 |
2 files changed, 31 insertions, 19 deletions
diff --git a/tests/validation/CL/PadLayer.cpp b/tests/validation/CL/PadLayer.cpp index 2ad29fc0e5..518f541b8b 100644 --- a/tests/validation/CL/PadLayer.cpp +++ b/tests/validation/CL/PadLayer.cpp @@ -42,8 +42,9 @@ namespace { const auto PaddingSizesDataset = framework::dataset::make("PaddingSize", { PaddingList{ { 0, 0 } }, PaddingList{ { 1, 1 } }, - PaddingList{ { 1, 1 }, { 2, 2 } }, - PaddingList{ { 1, 1 }, { 1, 1 }, { 1, 1 } }, + PaddingList{ { 33, 33 } }, + PaddingList{ { 1, 1 }, { 5, 5 } }, + PaddingList{ { 1, 1 }, { 1, 1 }, { 5, 5 } }, PaddingList{ { 0, 0 }, { 1, 0 }, { 0, 1 } }, PaddingList{ { 0, 0 }, { 0, 0 }, { 0, 0 } } }); @@ -111,6 +112,13 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLPaddingFixture<float>, framework::DatasetMode // Validate output validate(CLAccessor(_target), _reference); } +FIXTURE_DATA_TEST_CASE(RunLarge, CLPaddingFixture<float>, framework::DatasetMode::NIGHTLY, + combine(combine(combine(datasets::Large3DShapes(), framework::dataset::make("DataType", { DataType::F32 })), PaddingSizesDataset), + framework::dataset::make("PaddingMode", { PaddingMode::CONSTANT, PaddingMode::REFLECT, PaddingMode::SYMMETRIC }))) +{ + // Validate output + validate(CLAccessor(_target), _reference); +} TEST_SUITE_END() // FP32 TEST_SUITE(FP16) diff --git a/tests/validation/reference/PadLayer.cpp b/tests/validation/reference/PadLayer.cpp index d072bc529b..700e8f8ccf 100644 --- a/tests/validation/reference/PadLayer.cpp +++ b/tests/validation/reference/PadLayer.cpp @@ -115,11 +115,11 @@ SimpleTensor<T> pad_layer(const SimpleTensor<T> &src, const PaddingList &padding case PaddingMode::REFLECT: { const Coordinates orig_coords{ orig_coord_reflect(0), - orig_coord_reflect(1), - orig_coord_reflect(2), - orig_coord_reflect(3), - orig_coord_reflect(4), - orig_coord_reflect(5) }; + orig_coord_reflect(1), + orig_coord_reflect(2), + orig_coord_reflect(3), + orig_coord_reflect(4), + orig_coord_reflect(5) }; const size_t idx_src = coord2index(orig_shape, orig_coords); dst[idx] = src[idx_src]; @@ -128,11 +128,11 @@ SimpleTensor<T> pad_layer(const SimpleTensor<T> &src, const PaddingList &padding case PaddingMode::SYMMETRIC: { const Coordinates orig_coords{ orig_coord_symm(0), - orig_coord_symm(1), - orig_coord_symm(2), - orig_coord_symm(3), - orig_coord_symm(4), - orig_coord_symm(5) }; + orig_coord_symm(1), + orig_coord_symm(2), + orig_coord_symm(3), + orig_coord_symm(4), + orig_coord_symm(5) }; const size_t idx_src = coord2index(orig_shape, orig_coords); dst[idx] = src[idx_src]; @@ -147,12 +147,15 @@ SimpleTensor<T> pad_layer(const SimpleTensor<T> &src, const PaddingList &padding { // If the tuple[i,j,k,l,m] is not in the padding area, then copy the input into the output - const Coordinates orig_coords{ i - paddings_extended[0].first, - j - paddings_extended[1].first, - k - paddings_extended[2].first, - l - paddings_extended[3].first, - m - paddings_extended[4].first, - n - paddings_extended[5].first }; + const Coordinates orig_coords + { + i - paddings_extended[0].first, + j - paddings_extended[1].first, + k - paddings_extended[2].first, + l - paddings_extended[3].first, + m - paddings_extended[4].first, + n - paddings_extended[5].first + }; const size_t idx_src = coord2index(orig_shape, orig_coords); dst[idx] = src[idx_src]; @@ -164,11 +167,12 @@ SimpleTensor<T> pad_layer(const SimpleTensor<T> &src, const PaddingList &padding template SimpleTensor<float> pad_layer(const SimpleTensor<float> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); template SimpleTensor<half> pad_layer(const SimpleTensor<half> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); -template SimpleTensor<uint32_t> pad_layer(const SimpleTensor<uint32_t> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); template SimpleTensor<uint8_t> pad_layer(const SimpleTensor<uint8_t> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); template SimpleTensor<int8_t> pad_layer(const SimpleTensor<int8_t> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); template SimpleTensor<uint16_t> pad_layer(const SimpleTensor<uint16_t> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); template SimpleTensor<int16_t> pad_layer(const SimpleTensor<int16_t> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); +template SimpleTensor<uint32_t> pad_layer(const SimpleTensor<uint32_t> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); +template SimpleTensor<int32_t> pad_layer(const SimpleTensor<int32_t> &src, const PaddingList &paddings, const PixelValue const_value = PixelValue(), const PaddingMode mode); } // namespace reference } // namespace validation } // namespace test |