aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/Pooling2dEndToEndTestImpl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/backendsCommon/test/Pooling2dEndToEndTestImpl.hpp')
-rw-r--r--src/backends/backendsCommon/test/Pooling2dEndToEndTestImpl.hpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/backends/backendsCommon/test/Pooling2dEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/Pooling2dEndToEndTestImpl.hpp
index 7a264e1bb0..adff6e03b8 100644
--- a/src/backends/backendsCommon/test/Pooling2dEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/Pooling2dEndToEndTestImpl.hpp
@@ -76,7 +76,8 @@ void MaxPool2dEndToEnd(const std::vector<armnn::BackendId>& backends,
}
template<armnn::DataType ArmnnType>
-void MaxPool2dEndToEndFloat16(const std::vector<armnn::BackendId>& backends)
+void MaxPool2dEndToEndFloat16(const std::vector<armnn::BackendId>& backends,
+ PaddingMethod padMethod = PaddingMethod::Exclude)
{
using namespace half_float::literal;
using Half = half_float::half;
@@ -84,7 +85,7 @@ void MaxPool2dEndToEndFloat16(const std::vector<armnn::BackendId>& backends)
const TensorShape& inputShape = { 1, 3, 3, 1 };
const TensorShape& outputShape = { 1, 3, 3, 1 };
- INetworkPtr network = CreatePooling2dNetwork<ArmnnType>(inputShape, outputShape);
+ INetworkPtr network = CreatePooling2dNetwork<ArmnnType>(inputShape, outputShape, padMethod);
CHECK(network);
std::vector<Half> inputData{ 1._h, 2._h, 3._h,
@@ -140,7 +141,7 @@ void AvgPool2dEndToEnd(const std::vector<armnn::BackendId>& backends,
template<armnn::DataType ArmnnType>
void AvgPool2dEndToEndFloat16(const std::vector<armnn::BackendId>& backends,
- PaddingMethod padMethod = PaddingMethod::IgnoreValue)
+ PaddingMethod padMethod = PaddingMethod::Exclude)
{
using namespace half_float::literal;
using Half = half_float::half;
@@ -155,9 +156,19 @@ void AvgPool2dEndToEndFloat16(const std::vector<armnn::BackendId>& backends,
std::vector<Half> inputData{ 1._h, 2._h, 3._h,
4._h, 5._h, 6._h,
7._h, 8._h, 9._h };
- std::vector<Half> expectedOutput{ 1.33333_h, 2.33333_h, 1.77778_h,
- 3._h , 5._h , 3.66667_h,
- 2.66667_h, 4.33333_h, 3.11111_h };
+ std::vector<Half> expectedOutput;
+ if (padMethod == PaddingMethod::Exclude)
+ {
+ expectedOutput = { 3._h , 3.5_h, 4._h ,
+ 4.5_h, 5._h , 5.5_h,
+ 6._h , 6.5_h, 7._h };
+ }
+ else
+ {
+ expectedOutput = { 1.33333_h, 2.33333_h, 1.77778_h,
+ 3._h , 5._h , 3.66667_h,
+ 2.66667_h, 4.33333_h, 3.11111_h };
+ }
std::map<int, std::vector<Half>> inputTensorData = { { 0, inputData } };
std::map<int, std::vector<Half>> expectedOutputData = { { 0, expectedOutput } };