IVGCVSW-7884 - Add Tile to Serializer and Deserializer
* Added parsing functions to the serializer and deserializer
* Added Tile and its Descriptor to the ArmnnSchema.fbs
* Added a Unittest
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I72e638d26038c9b118cd82f633af462fd19e2b34
diff --git a/src/armnnSerializer/test/SerializerTests.cpp b/src/armnnSerializer/test/SerializerTests.cpp
index 163e5c8..b2590ea 100644
--- a/src/armnnSerializer/test/SerializerTests.cpp
+++ b/src/armnnSerializer/test/SerializerTests.cpp
@@ -3038,5 +3038,30 @@
deserializedNetwork->ExecuteStrategy(verifier);
}
+TEST_CASE("SerializeTile")
+{
+ const std::string layerName("Tile");
+ const armnn::TensorInfo inputInfo = armnn::TensorInfo({ 2, 3 }, armnn::DataType::Float32);
+ const armnn::TensorInfo outputInfo = armnn::TensorInfo({ 4, 6 }, armnn::DataType::Float32);
+
+ armnn::TileDescriptor desc = armnn::TileDescriptor(std::vector<uint32_t>{ 2, 2 });
+
+ armnn::INetworkPtr network = armnn::INetwork::Create();
+ armnn::IConnectableLayer* const inputLayer = network->AddInputLayer(0);
+ armnn::IConnectableLayer* const tileLayer = network->AddTileLayer(desc, layerName.c_str());
+ armnn::IConnectableLayer* const outputLayer = network->AddOutputLayer(0);
+
+ inputLayer->GetOutputSlot(0).Connect(tileLayer->GetInputSlot(0));
+ tileLayer->GetOutputSlot(0).Connect(outputLayer->GetInputSlot(0));
+
+ inputLayer->GetOutputSlot(0).SetTensorInfo(inputInfo);
+ tileLayer->GetOutputSlot(0).SetTensorInfo(outputInfo);
+
+ armnn::INetworkPtr deserializedNetwork = DeserializeNetwork(SerializeNetwork(*network));
+ CHECK(deserializedNetwork);
+
+ LayerVerifierBaseWithDescriptor<armnn::TileDescriptor> verifier(layerName, {inputInfo}, {outputInfo}, desc);
+ deserializedNetwork->ExecuteStrategy(verifier);
+}
}