COMPMID-470: Neon Deconvolution.

Implemented by up-sampling the input with zeros insertions between the input samples and convolving the Deconvolution kernels on the up-sampled result.

The upsampling is performed by the function NEDeconvolutionLayerUpsample.
Convolving is done by NEDirectConvolutionLayer.

Change-Id: I25f7ba7c6b99cd9310797972ede40aeff4a54900
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85319
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/tests/datasets/ShapeDatasets.h b/tests/datasets/ShapeDatasets.h
index 6b3b5c7..86ed2b2 100644
--- a/tests/datasets/ShapeDatasets.h
+++ b/tests/datasets/ShapeDatasets.h
@@ -198,6 +198,21 @@
     }
 };
 
+/** Data set containing small tensor shapes for deconvolution. */
+class SmallDeconvolutionShapes final : public ShapeDataset
+{
+public:
+    SmallDeconvolutionShapes()
+        : ShapeDataset("InputShape",
+    {
+        TensorShape{ 2U, 3U, 3U, 2U },
+                     TensorShape{ 5U, 5U, 3U },
+                     TensorShape{ 11U, 13U, 4U, 3U }
+    })
+    {
+    }
+};
+
 /** Data set containing small tensor shapes for direct convolution. */
 class SmallDirectConvolutionShapes final : public ShapeDataset
 {