diff options
author | Jim Flynn <jim.flynn@arm.com> | 2022-01-31 16:08:53 +0000 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2022-02-02 16:28:41 +0000 |
commit | e46659669b753411421a6a552b32b9f1d27b8b2e (patch) | |
tree | 25205a698f262c6a344db594968ad31865d3f352 /src/armnn/test/NetworkTests.cpp | |
parent | e2af6f4322a1e2b8b3c391fb721a6a80c281477f (diff) | |
download | armnn-e46659669b753411421a6a552b32b9f1d27b8b2e.tar.gz |
IVGCVSW-6639 Add GetParameters to IConnectableLayer
Change-Id: Id55a460ecb510f5b30235b03f54390f2c8188fc2
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'src/armnn/test/NetworkTests.cpp')
-rw-r--r-- | src/armnn/test/NetworkTests.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/armnn/test/NetworkTests.cpp b/src/armnn/test/NetworkTests.cpp index d4edf5da97..66dbb4ee16 100644 --- a/src/armnn/test/NetworkTests.cpp +++ b/src/armnn/test/NetworkTests.cpp @@ -600,4 +600,57 @@ TEST_CASE("StandInLayerSingleInputMultipleOutputsNetworkTest") CHECK(standIn->GetOutputSlot(1).GetConnection(0) == &output1->GetInputSlot(0)); } +TEST_CASE("ObtainConv2DDescriptorFromIConnectableLayer") +{ + armnn::NetworkImpl net; + + unsigned int dims[] = { 10,1,1,1 }; + std::vector<float> convWeightsData(10); + armnn::ConstTensor weights(armnn::TensorInfo(4, dims, armnn::DataType::Float32, 0.0f, 0, true), convWeightsData); + + armnn::Convolution2dDescriptor convDesc2d; + convDesc2d.m_PadLeft = 2; + convDesc2d.m_PadRight = 3; + convDesc2d.m_PadTop = 4; + convDesc2d.m_PadBottom = 5; + convDesc2d.m_StrideX = 2; + convDesc2d.m_StrideY = 1; + convDesc2d.m_DilationX = 3; + convDesc2d.m_DilationY = 3; + convDesc2d.m_BiasEnabled = false; + convDesc2d.m_DataLayout = armnn::DataLayout::NCHW; + armnn::IConnectableLayer* const convLayer = net.AddConvolution2dLayer(convDesc2d, + weights, + armnn::EmptyOptional(), + "conv layer"); + CHECK(convLayer); + + const armnn::BaseDescriptor& descriptor = convLayer->GetParameters(); + CHECK(descriptor.IsNull() == false); + const armnn::Convolution2dDescriptor& originalDescriptor = + static_cast<const armnn::Convolution2dDescriptor&>(descriptor); + CHECK(originalDescriptor.m_PadLeft == 2); + CHECK(originalDescriptor.m_PadRight == 3); + CHECK(originalDescriptor.m_PadTop == 4); + CHECK(originalDescriptor.m_PadBottom == 5); + CHECK(originalDescriptor.m_StrideX == 2); + CHECK(originalDescriptor.m_StrideY == 1); + CHECK(originalDescriptor.m_DilationX == 3); + CHECK(originalDescriptor.m_DilationY == 3); + CHECK(originalDescriptor.m_BiasEnabled == false); + CHECK(originalDescriptor.m_DataLayout == armnn::DataLayout::NCHW); +} + +TEST_CASE("CheckNullDescriptor") +{ + armnn::NetworkImpl net; + armnn::IConnectableLayer* const addLayer = net.AddAdditionLayer(); + + CHECK(addLayer); + + const armnn::BaseDescriptor& descriptor = addLayer->GetParameters(); + // additional layer has no descriptor so a NullDescriptor will be returned + CHECK(descriptor.IsNull() == true); +} + } |