aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/CL/Winograd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/CL/Winograd.cpp')
-rw-r--r--tests/validation/CL/Winograd.cpp64
1 files changed, 60 insertions, 4 deletions
diff --git a/tests/validation/CL/Winograd.cpp b/tests/validation/CL/Winograd.cpp
index 501afaccf9..849d0c13bc 100644
--- a/tests/validation/CL/Winograd.cpp
+++ b/tests/validation/CL/Winograd.cpp
@@ -65,7 +65,9 @@ const auto SmallWinogradInputTransformDatasetNCHW =
framework::dataset::concat(datasets::SmallWinogradInputTransformDataset4x4_3x3(),
framework::dataset::concat(datasets::SmallWinogradInputTransformDataset4x1_3x1(),
framework::dataset::concat(datasets::SmallWinogradInputTransformDataset1x4_1x3(),
- datasets::SmallWinogradInputTransformDataset4x4_5x5()))))));
+ framework::dataset::concat(datasets::SmallWinogradInputTransformDataset4x4_5x5(),
+ framework::dataset::concat(datasets::SmallWinogradInputTransformDataset4x1_5x1(),
+ datasets::SmallWinogradInputTransformDataset1x4_1x5()))))))));
const auto SmallWinogradInputTransformDatasetNHWC = framework::dataset::concat(datasets::SmallWinogradInputTransformDataset4x4_3x3(),
datasets::SmallWinogradInputTransformDataset4x4_5x5());
@@ -77,7 +79,9 @@ const auto LargeWinogradInputTransformDatasetNCHW =
framework::dataset::concat(datasets::LargeWinogradInputTransformDataset4x4_3x3(),
framework::dataset::concat(datasets::LargeWinogradInputTransformDataset4x1_3x1(),
framework::dataset::concat(datasets::LargeWinogradInputTransformDataset1x4_1x3(),
- datasets::LargeWinogradInputTransformDataset4x4_5x5()))))));
+ framework::dataset::concat(datasets::LargeWinogradInputTransformDataset4x4_5x5(),
+ framework::dataset::concat(datasets::LargeWinogradInputTransformDataset4x1_5x1(),
+ datasets::LargeWinogradInputTransformDataset1x4_1x5()))))))));
const auto LargeWinogradInputTransformDatasetNHWC =
framework::dataset::concat(datasets::LargeWinogradInputTransformDataset4x4_3x3(),
@@ -88,7 +92,9 @@ const auto SmallWinogradFilterTransformDatasetNCHW =
framework::dataset::concat(combine(datasets::Small3x3Shapes(), framework::dataset::make("OutputTile", { Size2D(2U, 2U), Size2D(4U, 4U) })),
framework::dataset::concat(combine(datasets::Small3x1Shapes(), framework::dataset::make("OutputTile", { Size2D(2U, 1U), Size2D(4U, 1U) })),
framework::dataset::concat(combine(datasets::Small1x3Shapes(), framework::dataset::make("OutputTile", { Size2D(1U, 2U), Size2D(1U, 4U) })),
- combine(datasets::Small5x5Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 4U) })))));
+ framework::dataset::concat(combine(datasets::Small5x5Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 4U) })),
+ framework::dataset::concat(combine(datasets::Small5x1Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 1U) })),
+ combine(datasets::Small1x5Shapes(), framework::dataset::make("OutputTile", { Size2D(1U, 4U) })))))));
const auto SmallWinogradFilterTransformDatasetNHWC =
framework::dataset::concat(combine(datasets::Small3x3Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 4U) })),
@@ -98,7 +104,9 @@ const auto LargeWinogradFilterTransformDatasetNCHW =
framework::dataset::concat(combine(datasets::Large3x3Shapes(), framework::dataset::make("OutputTile", { Size2D(2U, 2U), Size2D(4U, 4U) })),
framework::dataset::concat(combine(datasets::Large3x1Shapes(), framework::dataset::make("OutputTile", { Size2D(2U, 1U), Size2D(4U, 1U) })),
framework::dataset::concat(combine(datasets::Large1x3Shapes(), framework::dataset::make("OutputTile", { Size2D(1U, 2U), Size2D(1U, 4U) })),
- combine(datasets::Large5x5Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 4U) })))));
+ framework::dataset::concat(combine(datasets::Large5x5Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 4U) })),
+ framework::dataset::concat(combine(datasets::Large5x1Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 1U) })),
+ combine(datasets::Large1x5Shapes(), framework::dataset::make("OutputTile", { Size2D(1U, 4U) })))))));
const auto LargeWinogradFilterTransformDatasetNHWC =
framework::dataset::concat(combine(datasets::Large3x3Shapes(), framework::dataset::make("OutputTile", { Size2D(4U, 4U) })),
@@ -643,6 +651,54 @@ FIXTURE_DATA_TEST_CASE(RunLarge, CLWinogradConvolutionLayerFastMathFixture, fram
}
TEST_SUITE_END() // Conv5x5
+TEST_SUITE(Conv5x1)
+FIXTURE_DATA_TEST_CASE(RunSmall, CLWinogradConvolutionLayerFastMathFixture, framework::DatasetMode::PRECOMMIT,
+ combine(combine(combine(datasets::SmallWinogradConvolutionLayer5x1Dataset(),
+ framework::dataset::make("DataType", { DataType::F32 })),
+ framework::dataset::make("ActivationLayerInfo", { ActivationLayerInfo() })),
+ framework::dataset::make("DataLayout", { DataLayout::NCHW })))
+
+{
+ // Validate output
+ validate(CLAccessor(_target), _reference, tolerance_convolution_layer_f32);
+}
+
+FIXTURE_DATA_TEST_CASE(RunLarge, CLWinogradConvolutionLayerFastMathFixture, framework::DatasetMode::NIGHTLY,
+ combine(combine(combine(datasets::LargeWinogradConvolutionLayer5x1Dataset(),
+ framework::dataset::make("DataType", { DataType::F32 })),
+ framework::dataset::make("ActivationLayerInfo", { ActivationLayerInfo() })),
+ framework::dataset::make("DataLayout", { DataLayout::NCHW })))
+
+{
+ // Validate output
+ validate(CLAccessor(_target), _reference, tolerance_convolution_layer_f32);
+}
+TEST_SUITE_END() // Conv5x1
+
+TEST_SUITE(Conv1x5)
+FIXTURE_DATA_TEST_CASE(RunSmall, CLWinogradConvolutionLayerFastMathFixture, framework::DatasetMode::PRECOMMIT,
+ combine(combine(combine(datasets::SmallWinogradConvolutionLayer1x5Dataset(),
+ framework::dataset::make("DataType", { DataType::F32 })),
+ framework::dataset::make("ActivationLayerInfo", { ActivationLayerInfo() })),
+ framework::dataset::make("DataLayout", { DataLayout::NCHW })))
+
+{
+ // Validate output
+ validate(CLAccessor(_target), _reference, tolerance_convolution_layer_f32);
+}
+
+FIXTURE_DATA_TEST_CASE(RunLarge, CLWinogradConvolutionLayerFastMathFixture, framework::DatasetMode::NIGHTLY,
+ combine(combine(combine(datasets::LargeWinogradConvolutionLayer1x5Dataset(),
+ framework::dataset::make("DataType", { DataType::F32 })),
+ framework::dataset::make("ActivationLayerInfo", { ActivationLayerInfo() })),
+ framework::dataset::make("DataLayout", { DataLayout::NCHW })))
+
+{
+ // Validate output
+ validate(CLAccessor(_target), _reference, tolerance_convolution_layer_f32);
+}
+TEST_SUITE_END() // Conv1x5
+
TEST_SUITE_END() // ConvolutionLayer
TEST_SUITE_END() // Winograd
TEST_SUITE_END() // CL