aboutsummaryrefslogtreecommitdiff
path: root/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp')
-rw-r--r--src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp51
1 files changed, 48 insertions, 3 deletions
diff --git a/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp b/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp
index 0d0cd6eefc..3c3abc2af3 100644
--- a/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp
+++ b/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp
@@ -105,7 +105,7 @@ TEST_CASE("IsLayerSupportedTosaReferenceConv2d")
TosaRefLayerSupport supportChecker;
std::string reasonIfNotSupported;
- auto supported = supportChecker.IsLayerSupported(armnn::LayerType::Convolution2d,
+ auto supported = supportChecker.IsLayerSupported(LayerType::Convolution2d,
{inputInfo, outputInfo, weightsInfo, biasesInfo},
desc,
EmptyOptional(),
@@ -128,7 +128,7 @@ TEST_CASE("IsLayerSupportedTosaReferenceConv2dUnsupported")
TosaRefLayerSupport supportChecker;
std::string reasonIfNotSupported;
- auto supported = supportChecker.IsLayerSupported(armnn::LayerType::Convolution2d,
+ auto supported = supportChecker.IsLayerSupported(LayerType::Convolution2d,
{inputInfo, outputInfo, weightsInfo, biasesInfo},
desc,
EmptyOptional(),
@@ -150,7 +150,7 @@ TEST_CASE("IsLayerSupportedTosaReferenceMaxPooling2d")
desc.m_PoolWidth = 1;
desc.m_StrideX = 1;
desc.m_StrideY = 1;
- desc.m_PoolType = armnn::PoolingAlgorithm::Max;
+ desc.m_PoolType = PoolingAlgorithm::Max;
TosaRefLayerSupport supportChecker;
std::string reasonIfNotSupported;
@@ -324,4 +324,49 @@ TEST_CASE("IsLayerSupportedTosaReferenceSliceUnsupported")
CHECK(!supported);
}
+TEST_CASE("IsLayerSupportedTosaReferenceTransposeConv2d")
+{
+ TensorInfo inputInfo ({ 1, 3, 3, 1 }, DataType::Float32);
+ TensorInfo outputInfo({ 1, 5, 5, 1 }, DataType::Float32);
+ TensorInfo weightsInfo({ 1, 3, 3, 1 }, DataType::Float32);
+ TensorInfo biasesInfo ({ 1 }, DataType::Float32);
+
+ TransposeConvolution2dDescriptor desc;
+ desc.m_StrideX = 1;
+ desc.m_StrideY = 1;
+ desc.m_BiasEnabled = true;
+
+ TosaRefLayerSupport supportChecker;
+ std::string reasonIfNotSupported;
+ auto supported = supportChecker.IsLayerSupported(LayerType::TransposeConvolution2d,
+ {inputInfo, outputInfo, weightsInfo, biasesInfo},
+ desc,
+ EmptyOptional(),
+ EmptyOptional(),
+ reasonIfNotSupported);
+ CHECK(supported);
+}
+
+TEST_CASE("IsLayerSupportedTosaReferenceTransposeConv2dUnsupported")
+{
+ // If inputs and weights are Fp32, output must match.
+ TensorInfo inputInfo ({ 1, 3, 3, 1 }, DataType::Float32);
+ TensorInfo outputInfo({ 1, 5, 5, 1 }, DataType::Float32);
+ TensorInfo weightsInfo({ 1, 3, 3, 1 }, DataType::Float32, 0.0f, 0, true);
+ TensorInfo biasesInfo ({ 1 }, DataType::Float32, 0.0f, 0, true);
+
+ TransposeConvolution2dDescriptor desc;
+ desc.m_BiasEnabled = true;
+
+ TosaRefLayerSupport supportChecker;
+ std::string reasonIfNotSupported;
+ auto supported = supportChecker.IsLayerSupported(LayerType::TransposeConvolution2d,
+ {inputInfo, outputInfo, weightsInfo, biasesInfo},
+ desc,
+ EmptyOptional(),
+ EmptyOptional(),
+ reasonIfNotSupported);
+ CHECK(!supported);
+}
+
}