aboutsummaryrefslogtreecommitdiff
path: root/include/armnn/Descriptors.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/armnn/Descriptors.hpp')
-rw-r--r--include/armnn/Descriptors.hpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/include/armnn/Descriptors.hpp b/include/armnn/Descriptors.hpp
index 57917261d4..95eeaaa420 100644
--- a/include/armnn/Descriptors.hpp
+++ b/include/armnn/Descriptors.hpp
@@ -1083,6 +1083,66 @@ struct PreCompiledDescriptor
unsigned int m_NumOutputSlots;
};
+/// A QLstmDescriptor for the QLstmLayer.
+struct QLstmDescriptor
+{
+ QLstmDescriptor()
+ : m_CellClip(0.0)
+ , m_ProjectionClip(0.0)
+ , m_CifgEnabled(true)
+ , m_PeepholeEnabled(false)
+ , m_ProjectionEnabled(false)
+ , m_LayerNormEnabled(false)
+ , m_InputIntermediateScale(0.0)
+ , m_ForgetIntermediateScale(0.0)
+ , m_CellIntermediateScale(0.0)
+ , m_OutputIntermediateScale(0.0)
+ , m_HiddenStateZeroPoint(0)
+ , m_HiddenStateScale(0.0)
+ {}
+
+ bool operator ==(const QLstmDescriptor& rhs) const
+ {
+ return m_CellClip == rhs.m_CellClip &&
+ m_ProjectionClip == rhs.m_ProjectionClip &&
+ m_CifgEnabled == rhs.m_CifgEnabled &&
+ m_PeepholeEnabled == rhs.m_PeepholeEnabled &&
+ m_ProjectionEnabled == rhs.m_ProjectionEnabled &&
+ m_LayerNormEnabled == rhs.m_LayerNormEnabled &&
+ m_InputIntermediateScale == rhs.m_InputIntermediateScale &&
+ m_ForgetIntermediateScale == rhs.m_ForgetIntermediateScale &&
+ m_CellIntermediateScale == rhs.m_CellIntermediateScale &&
+ m_OutputIntermediateScale == rhs.m_OutputIntermediateScale &&
+ m_HiddenStateZeroPoint == rhs.m_HiddenStateZeroPoint &&
+ m_HiddenStateScale == rhs.m_HiddenStateScale;
+ }
+
+ /// Clipping threshold value for the cell state
+ float m_CellClip;
+ /// Clipping threshold value for the projection
+ float m_ProjectionClip;
+ /// Enable/disable CIFG (coupled input & forget gate).
+ bool m_CifgEnabled;
+ /// Enable/disable peephole
+ bool m_PeepholeEnabled;
+ /// Enable/disable the projection layer
+ bool m_ProjectionEnabled;
+ /// Enable/disable layer normalization
+ bool m_LayerNormEnabled;
+ /// Input intermediate quantization scale
+ float m_InputIntermediateScale;
+ /// Forget intermediate quantization scale
+ float m_ForgetIntermediateScale;
+ /// Cell intermediate quantization scale
+ float m_CellIntermediateScale;
+ /// Output intermediate quantization scale
+ float m_OutputIntermediateScale;
+ /// Hidden State zero point
+ int32_t m_HiddenStateZeroPoint;
+ /// Hidden State quantization scale
+ float m_HiddenStateScale;
+};
+
/// A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
struct TransposeConvolution2dDescriptor
{