diff options
Diffstat (limited to 'include/armnn')
-rw-r--r-- | include/armnn/Descriptors.hpp | 3 | ||||
-rw-r--r-- | include/armnn/ILayerSupport.hpp | 6 | ||||
-rw-r--r-- | include/armnn/LstmParams.hpp | 8 |
3 files changed, 16 insertions, 1 deletions
diff --git a/include/armnn/Descriptors.hpp b/include/armnn/Descriptors.hpp index 85e8b56fed..9175239aa8 100644 --- a/include/armnn/Descriptors.hpp +++ b/include/armnn/Descriptors.hpp @@ -589,6 +589,7 @@ struct LstmDescriptor , m_CifgEnabled(true) , m_PeepholeEnabled(false) , m_ProjectionEnabled(false) + , m_LayerNormEnabled(false) {} /// @brief The activation function to use. @@ -604,6 +605,8 @@ struct LstmDescriptor bool m_PeepholeEnabled; /// Enable/disable the projection layer. bool m_ProjectionEnabled; + /// Enable/disable layer normalization + bool m_LayerNormEnabled; }; /// A MeanDescriptor for the MeanLayer. diff --git a/include/armnn/ILayerSupport.hpp b/include/armnn/ILayerSupport.hpp index bf0ac90c59..635b9cc663 100644 --- a/include/armnn/ILayerSupport.hpp +++ b/include/armnn/ILayerSupport.hpp @@ -170,7 +170,11 @@ public: const TensorInfo* projectionBias, const TensorInfo* cellToForgetWeights, const TensorInfo* cellToOutputWeights, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional(), + const TensorInfo* inputLayerNormWeights = nullptr, + const TensorInfo* forgetLayerNormWeights = nullptr, + const TensorInfo* cellLayerNormWeights = nullptr, + const TensorInfo* outputLayerNormWeights = nullptr) const = 0; virtual bool IsMaximumSupported(const TensorInfo& input0, const TensorInfo& input1, diff --git a/include/armnn/LstmParams.hpp b/include/armnn/LstmParams.hpp index c4f38f0067..a7c57c78b2 100644 --- a/include/armnn/LstmParams.hpp +++ b/include/armnn/LstmParams.hpp @@ -29,6 +29,10 @@ struct LstmInputParams , m_OutputGateBias(nullptr) , m_ProjectionWeights(nullptr) , m_ProjectionBias(nullptr) + , m_InputLayerNormWeights(nullptr) + , m_ForgetLayerNormWeights(nullptr) + , m_CellLayerNormWeights(nullptr) + , m_OutputLayerNormWeights(nullptr) { } @@ -49,6 +53,10 @@ struct LstmInputParams const ConstTensor* m_OutputGateBias; const ConstTensor* m_ProjectionWeights; const ConstTensor* m_ProjectionBias; + const ConstTensor* m_InputLayerNormWeights; + const ConstTensor* m_ForgetLayerNormWeights; + const ConstTensor* m_CellLayerNormWeights; + const ConstTensor* m_OutputLayerNormWeights; }; } // namespace armnn |