From 85121a23c516428d8677f9988df3f40c1ceb2ea9 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Wed, 23 Oct 2019 10:41:35 +0100 Subject: IVGCVSW-4010 Add serialization support for StandInLayer Signed-off-by: Aron Virginas-Tar Change-Id: I2017c15b485b82437c6ffdac4d3112bcc2cbe9e9 --- src/armnnSerializer/test/SerializerTests.cpp | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'src/armnnSerializer/test/SerializerTests.cpp') diff --git a/src/armnnSerializer/test/SerializerTests.cpp b/src/armnnSerializer/test/SerializerTests.cpp index 10627d08ba..1f97e935ad 100644 --- a/src/armnnSerializer/test/SerializerTests.cpp +++ b/src/armnnSerializer/test/SerializerTests.cpp @@ -2289,6 +2289,41 @@ BOOST_AUTO_TEST_CASE(SerializeStack) deserializedNetwork->Accept(verifier); } +BOOST_AUTO_TEST_CASE(SerializeStandIn) +{ + DECLARE_LAYER_VERIFIER_CLASS_WITH_DESCRIPTOR(StandIn) + + const std::string layerName("standIn"); + + armnn::TensorInfo tensorInfo({ 1u }, armnn::DataType::Float32); + armnn::StandInDescriptor descriptor(2u, 2u); + + armnn::INetworkPtr network = armnn::INetwork::Create(); + armnn::IConnectableLayer* const inputLayer0 = network->AddInputLayer(0); + armnn::IConnectableLayer* const inputLayer1 = network->AddInputLayer(1); + armnn::IConnectableLayer* const standInLayer = network->AddStandInLayer(descriptor, layerName.c_str()); + armnn::IConnectableLayer* const outputLayer0 = network->AddOutputLayer(0); + armnn::IConnectableLayer* const outputLayer1 = network->AddOutputLayer(1); + + inputLayer0->GetOutputSlot(0).Connect(standInLayer->GetInputSlot(0)); + inputLayer0->GetOutputSlot(0).SetTensorInfo(tensorInfo); + + inputLayer1->GetOutputSlot(0).Connect(standInLayer->GetInputSlot(1)); + inputLayer1->GetOutputSlot(0).SetTensorInfo(tensorInfo); + + standInLayer->GetOutputSlot(0).Connect(outputLayer0->GetInputSlot(0)); + standInLayer->GetOutputSlot(0).SetTensorInfo(tensorInfo); + + standInLayer->GetOutputSlot(1).Connect(outputLayer1->GetInputSlot(0)); + standInLayer->GetOutputSlot(1).SetTensorInfo(tensorInfo); + + armnn::INetworkPtr deserializedNetwork = DeserializeNetwork(SerializeNetwork(*network)); + BOOST_CHECK(deserializedNetwork); + + StandInLayerVerifier verifier(layerName, { tensorInfo, tensorInfo }, { tensorInfo, tensorInfo }, descriptor); + deserializedNetwork->Accept(verifier); +} + BOOST_AUTO_TEST_CASE(SerializeStridedSlice) { DECLARE_LAYER_VERIFIER_CLASS_WITH_DESCRIPTOR(StridedSlice) -- cgit v1.2.1