IVGCVSW-6550 Synchronize include/armnn and PyArmNN swig modules.

* armnn_network.i: IVGCVSW-6127 ConstTensorsAsInput:
  DepthwiseConvolution2d.
* armnn_descriptors.i: IVGCVSW-6127 ConstTensorsAsInput:
  DepthwiseConvolution2d. MLCE-604 Add Unidirectional Sequence
  Lstm support to TFLite. MLCE-530 Add support for
  UnidirectionalSequenceLstm to RefWorkload

Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I0c054db17dbf9a1eb14c12d1fd1337f8003a92d3
diff --git a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i
index c64fef3..9374945 100644
--- a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i
+++ b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i
@@ -388,7 +388,9 @@
     bool       m_BiasEnabled;
     DataLayout m_DataLayout;
 
-     bool operator ==(const DepthwiseConvolution2dDescriptor& rhs) const;
+    bool operator ==(const DepthwiseConvolution2dDescriptor& rhs) const;
+
+    uint32_t GetNumInputs() const;
 };
 
 %feature("docstring",
@@ -544,7 +546,13 @@
         m_PeepholeEnabled (bool): Enable/disable peephole. Default: false.
         m_ProjectionEnabled (bool): Enable/disable the projection layer. Default: false.
         m_LayerNormEnabled (bool): Enable/disable layer normalization. Default: false.
-
+        m_TimeMajor (bool): Enable/disable time major. Default: false.
+        m_InputIntermediateScale (float): Input intermediate quantization scale. Default: 0.0.
+        m_ForgetIntermediateScale (float): Forget intermediate quantization scale. Default: 0.0.
+        m_CellIntermediateScale (float): Cell intermediate quantization scale. Default: 0.0.
+        m_OutputIntermediateScale (float): Output intermediate quantization scale. Default: 0.0.
+        m_HiddenStateZeroPoint (int): Hidden State zero point. Default: 0.
+        m_HiddenStateScale (float): Hidden State quantization scale. Default: 0.0.
     ") LstmDescriptor;
 struct LstmDescriptor
 {
@@ -557,6 +565,13 @@
     bool m_PeepholeEnabled;
     bool m_ProjectionEnabled;
     bool m_LayerNormEnabled;
+    bool m_TimeMajor;
+    float m_InputIntermediateScale;
+    float m_ForgetIntermediateScale;
+    float m_CellIntermediateScale;
+    float m_OutputIntermediateScale;
+    int32_t m_HiddenStateZeroPoint;
+    float m_HiddenStateScale;
 
     bool operator ==(const LstmDescriptor& rhs) const;
 };
diff --git a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i
index 74ae8c1..a2f57a3 100644
--- a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i
+++ b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i
@@ -534,6 +534,22 @@
 
     %feature("docstring",
         "
+        Adds a 2D Depthwise Convolution layer to the network.
+
+        Args:
+            convolution2dDescriptor (DepthwiseConvolution2dDescriptor): Description of the 2D depthwise convolution layer.
+            name (str): Optional name for the layer.
+
+        Returns:
+            IConnectableLayer: Interface for configuring the layer.
+        ") AddDepthwiseConvolution2dLayer;
+
+    armnn::IConnectableLayer* AddDepthwiseConvolution2dLayer(
+        const armnn::DepthwiseConvolution2dDescriptor& convolution2dDescriptor,
+        const char* name = nullptr);
+
+    %feature("docstring",
+        "
         Adds a Dequantize layer to the network.
 
         Args:
@@ -544,7 +560,6 @@
         ") AddDequantizeLayer;
     armnn::IConnectableLayer* AddDequantizeLayer(const char* name = nullptr);
 
-
     %feature("docstring",
         "
         Adds a Detection PostProcess layer to the network. Detection PostProcess is a custom layer for SSD MobilenetV1.
@@ -869,7 +884,6 @@
     armnn::IConnectableLayer* AddQuantizedLstmLayer(const armnn::QuantizedLstmInputParams& params,
                                                      const char* name = nullptr);
 
-
     %feature("docstring",
         "
         Adds a Rank layer to the network.
@@ -924,7 +938,6 @@
     armnn::IConnectableLayer* AddResizeLayer(const armnn::ResizeDescriptor& resizeDescriptor,
                                               const char* name = nullptr);
 
-
     %feature("docstring",
         "
         Adds a Shape layer to the network.
@@ -1184,7 +1197,6 @@
         }
     }
 
-
     %feature("docstring",
         "
         Adds a 2D Depthwise Convolution layer to the network.
@@ -1205,6 +1217,7 @@
         const armnn::ConstTensor* biases = nullptr,
         const char* name = nullptr) {
 
+        ARMNN_NO_DEPRECATE_WARN_BEGIN
         if (biases) {
             return $self->AddDepthwiseConvolution2dLayer(convolution2dDescriptor, weights,
                                                  armnn::Optional<armnn::ConstTensor>(*biases), name);
@@ -1212,7 +1225,9 @@
             return $self->AddDepthwiseConvolution2dLayer(convolution2dDescriptor, weights,
                                                  armnn::Optional<armnn::ConstTensor>(), name);
         }
+        ARMNN_NO_DEPRECATE_WARN_END
     }
+
 }
 
 %feature("docstring",
diff --git a/python/pyarmnn/test/test_network.py b/python/pyarmnn/test/test_network.py
index 5522bf6..ce1dffb 100644
--- a/python/pyarmnn/test/test_network.py
+++ b/python/pyarmnn/test/test_network.py
@@ -251,34 +251,6 @@
 def test_network_method_exists(method):
     assert getattr(ann.INetwork, method, None)
 
-def test_DepthwiseConvolution2d_layer_optional_none():
-    net = ann.INetwork()
-    layer = net.AddDepthwiseConvolution2dLayer(convolution2dDescriptor=ann.DepthwiseConvolution2dDescriptor(),
-                                               weights=ann.ConstTensor())
-
-    assert layer
-
-
-def test_DepthwiseConvolution2d_layer_optional_provided():
-    net = ann.INetwork()
-    layer = net.AddDepthwiseConvolution2dLayer(convolution2dDescriptor=ann.DepthwiseConvolution2dDescriptor(),
-                                               weights=ann.ConstTensor(),
-                                               biases=ann.ConstTensor())
-
-    assert layer
-
-
-def test_DepthwiseConvolution2d_layer_all_args():
-    net = ann.INetwork()
-    layer = net.AddDepthwiseConvolution2dLayer(convolution2dDescriptor=ann.DepthwiseConvolution2dDescriptor(),
-                                               weights=ann.ConstTensor(),
-                                               biases=ann.ConstTensor(),
-                                               name='NAME1')
-
-    assert layer
-    assert 'NAME1' == layer.GetName()
-
-
 def test_Convolution2d_layer_optional_none():
     net = ann.INetwork()
     layer = net.AddConvolution2dLayer(convolution2dDescriptor=ann.Convolution2dDescriptor(),