Loading...
Searching...
No Matches
layer_normalization_operator.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (C) 2026 Artificial Intelligence Techniques, S.L. and Roberto López González
3
4#pragma once
5
7
8namespace opennn
9{
10
12
15 TensorView&, TensorView&, float);
17 const TensorView&, const TensorView&,
19 TensorView&, TensorView&, TensorView&, float);
21 const TensorView&, const TensorView&,
22 const TensorView&, const TensorView&,
23 const TensorView&, const TensorView&,
24 TensorView&, TensorView* = nullptr);
26 TensorView&, TensorView&, TensorView&, float);
28 const TensorView&, const TensorView&, const TensorView&,
29 const TensorView&, TensorView&);
30
32{
33 Index sequence_length = 0;
35
37
38 float epsilon = 1.0e-6f;
39
40 bool fuse_add = false;
41
44
47
48 void set(Index, Index);
49
50 vector<TensorSpec> parameter_specs() const override;
51 vector<ParameterSlot> parameter_slots() override;
52
53 void set_parameters_random() override { init_defaults(); }
54 void set_parameters_glorot() override { init_defaults(); }
55
57
59 void back_propagate(ForwardPropagation&, BackPropagation&, size_t) const override;
60};
61
62}
Definition configuration.h:10
void layer_normalization_forward(const TensorView &, const TensorView &, const TensorView &, TensorView &, TensorView &, TensorView &, TensorView &, float)
NormalizationMethod
Definition layer_normalization_operator.h:11
@ RMS
Definition layer_normalization_operator.h:11
@ LayerNorm
Definition layer_normalization_operator.h:11
void rms_normalization_forward(const TensorView &, const TensorView &, TensorView &, TensorView &, TensorView &, float)
void rms_normalization_backward(const TensorView &, const TensorView &, const TensorView &, const TensorView &, const TensorView &, const TensorView &, TensorView &)
void layer_normalization_backward(const TensorView &, const TensorView &, const TensorView &, const TensorView &, const TensorView &, const TensorView &, const TensorView &, const TensorView &, TensorView &, TensorView *=nullptr)
void layer_normalization_add_forward(const TensorView &, const TensorView &, const TensorView &, const TensorView &, TensorView &, TensorView &, TensorView &, TensorView &, TensorView &, float)
ForwardPropagationMode
Definition forward_propagation.h:33
Definition back_propagation.h:19
Definition forward_propagation.h:52
Definition layer_normalization_operator.h:32
float epsilon
Definition layer_normalization_operator.h:38
vector< ParameterSlot > parameter_slots() override
void set_parameters_glorot() override
Definition layer_normalization_operator.h:54
void forward_propagate(ForwardPropagation &, size_t, ForwardPropagationMode) override
void back_propagate(ForwardPropagation &, BackPropagation &, size_t) const override
void set_parameters_random() override
Definition layer_normalization_operator.h:53
Index embedding_dimension
Definition layer_normalization_operator.h:34
bool fuse_add
Definition layer_normalization_operator.h:40
TensorView gamma
Definition layer_normalization_operator.h:42
TensorView gamma_gradient
Definition layer_normalization_operator.h:45
vector< TensorSpec > parameter_specs() const override
TensorView beta_gradient
Definition layer_normalization_operator.h:46
NormalizationMethod method
Definition layer_normalization_operator.h:36
TensorView beta
Definition layer_normalization_operator.h:43
Index sequence_length
Definition layer_normalization_operator.h:33
Definition operator.h:28
Definition tensor_types.h:540