aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/validation/CL/PadLayer.cpp12
-rw-r--r--tests/validation/reference/PadLayer.cpp38
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