From 5888589ec877d61d21848816c6eacdde5dc068d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89anna=20=C3=93=20Cath=C3=A1in?= Date: Wed, 27 Feb 2019 16:16:39 +0000 Subject: IVGCVSW-2687 Add Serializer & Deserializer for Division MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I230220eccbfb22e56e8d351cc963988d734836ac Signed-off-by: Éanna Ó Catháin --- src/armnnSerializer/test/SerializerTests.cpp | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'src/armnnSerializer/test') diff --git a/src/armnnSerializer/test/SerializerTests.cpp b/src/armnnSerializer/test/SerializerTests.cpp index 8ce90499df..13fb0b22f8 100644 --- a/src/armnnSerializer/test/SerializerTests.cpp +++ b/src/armnnSerializer/test/SerializerTests.cpp @@ -728,4 +728,49 @@ BOOST_AUTO_TEST_CASE(SerializeDeserializeBatchToSpaceNd) outputTensorInfo.GetShape()); } +BOOST_AUTO_TEST_CASE(SerializeDivision) +{ + class VerifyDivisionName : public armnn::LayerVisitorBase + { + public: + void VisitDivisionLayer(const armnn::IConnectableLayer*, const char* name) override + { + BOOST_TEST(name == "division"); + } + }; + + const armnn::TensorInfo info({ 1, 5, 2, 3 }, armnn::DataType::Float32); + + armnn::INetworkPtr network = armnn::INetwork::Create(); + armnn::IConnectableLayer* const inputLayer0 = network->AddInputLayer(0); + armnn::IConnectableLayer* const inputLayer1 = network->AddInputLayer(1); + + const char* divLayerName = "division"; + + armnn::IConnectableLayer* const divisionLayer = network->AddDivisionLayer(divLayerName); + inputLayer0->GetOutputSlot(0).Connect(divisionLayer->GetInputSlot(0)); + inputLayer1->GetOutputSlot(0).Connect(divisionLayer->GetInputSlot(1)); + + armnn::IConnectableLayer* const outputLayer = network->AddOutputLayer(0); + divisionLayer->GetOutputSlot(0).Connect(outputLayer->GetInputSlot(0)); + + inputLayer0->GetOutputSlot(0).SetTensorInfo(info); + inputLayer1->GetOutputSlot(0).SetTensorInfo(info); + divisionLayer->GetOutputSlot(0).SetTensorInfo(info); + + armnnSerializer::Serializer serializer; + serializer.Serialize(*network); + + std::stringstream stream; + serializer.SaveSerializedToStream(stream); + BOOST_TEST(stream.str().length() > 0); + BOOST_TEST(stream.str().find(divLayerName) != stream.str().npos); + + armnn::INetworkPtr deserializedNetwork = DeserializeNetwork(stream.str()); + BOOST_CHECK(deserializedNetwork); + + VerifyDivisionName nameChecker; + deserializedNetwork->Accept(nameChecker); +} + BOOST_AUTO_TEST_SUITE_END() -- cgit v1.2.1