diff options
author | Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> | 2019-03-01 12:14:06 +0000 |
---|---|---|
committer | Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> | 2019-03-01 12:14:06 +0000 |
commit | ebb0f9c1dd97b43c0495eab4f2d4414e2fa3d4b1 (patch) | |
tree | df0707bb555150e24ea9090e0b7778d29061ead5 /src/armnnSerializer/test | |
parent | 57728788f65656e4fa08923d12bee0de34a72fc7 (diff) | |
download | armnn-ebb0f9c1dd97b43c0495eab4f2d4414e2fa3d4b1.tar.gz |
IVGCVSW-2701 Add Serializer and Deserializer for Pad
Change-Id: I71184236f0394518f29944a77d4b934cbde9e53d
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Diffstat (limited to 'src/armnnSerializer/test')
-rw-r--r-- | src/armnnSerializer/test/SerializerTests.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/armnnSerializer/test/SerializerTests.cpp b/src/armnnSerializer/test/SerializerTests.cpp index 271b3e71bd..110bf0c581 100644 --- a/src/armnnSerializer/test/SerializerTests.cpp +++ b/src/armnnSerializer/test/SerializerTests.cpp @@ -980,4 +980,45 @@ BOOST_AUTO_TEST_CASE(SerializeDeserializeEqual) {outputTensorInfo.GetShape()}, {0, 1}); } + +BOOST_AUTO_TEST_CASE(SerializeDeserializePad) +{ + class VerifyPadName : public armnn::LayerVisitorBase<armnn::VisitorNoThrowPolicy> + { + public: + void VisitPadLayer(const armnn::IConnectableLayer*, + const armnn::PadDescriptor& descriptor, + const char* name) override + { + BOOST_TEST(name == "PadLayer"); + } + }; + + armnn::PadDescriptor desc({{0, 0}, {1, 0}, {1, 1}, {1, 2}}); + + const armnn::TensorInfo inputTensorInfo = armnn::TensorInfo({1, 2, 3, 4}, armnn::DataType::Float32); + const armnn::TensorInfo outputTensorInfo = armnn::TensorInfo({1, 3, 5, 7}, armnn::DataType::Float32); + + armnn::INetworkPtr network = armnn::INetwork::Create(); + armnn::IConnectableLayer* const inputLayer = network->AddInputLayer(0); + armnn::IConnectableLayer* const padLayer = network->AddPadLayer(desc, "PadLayer"); + armnn::IConnectableLayer* const outputLayer = network->AddOutputLayer(0); + + inputLayer->GetOutputSlot(0).Connect(padLayer->GetInputSlot(0)); + inputLayer->GetOutputSlot(0).SetTensorInfo(inputTensorInfo); + padLayer->GetOutputSlot(0).Connect(outputLayer->GetInputSlot(0)); + padLayer->GetOutputSlot(0).SetTensorInfo(outputTensorInfo); + + armnn::INetworkPtr deserializedNetwork = DeserializeNetwork(SerializeNetwork(*network)); + BOOST_CHECK(deserializedNetwork); + + VerifyPadName nameChecker; + deserializedNetwork->Accept(nameChecker); + + CheckDeserializedNetworkAgainstOriginal(*network, + *deserializedNetwork, + {inputTensorInfo.GetShape()}, + {outputTensorInfo.GetShape()}); +} + BOOST_AUTO_TEST_SUITE_END() |