Loading...
Searching...
No Matches
opennn::MergeOp Struct Reference
Reshapes (batch, heads, seq, head_dim) tensors back into (batch, seq, embed); no parameters. More...
#include <operators.h>
Inheritance diagram for opennn::MergeOp:
Public Member Functions | |
| void | set (Index heads_number, Index query_sequence_length, Index head_dimension, Type compute_dtype) |
| Configures the merge geometry. | |
| void | forward_propagate (ForwardPropagation &fp, size_t layer, bool is_training) noexcept override |
| Runs the operator's forward computation. | |
| void | back_propagate (ForwardPropagation &fp, BackPropagation &bp, size_t layer) const noexcept override |
| Runs the operator's backward computation, accumulating into gradient/delta buffers. | |
Public Member Functions inherited from opennn::Operator | |
| virtual | ~Operator ()=default |
| virtual vector< TensorSpec > | parameter_specs () const |
| Returns the tensor specs of trainable parameters owned by this operator. | |
| virtual vector< TensorSpec > | state_specs () const |
| Returns the tensor specs of persistent state owned by this operator. | |
| virtual void | link_parameters (span< const TensorView >) |
| Binds parameter views provided by the hosting layer. | |
| virtual void | link_gradients (span< const TensorView >) |
| Binds gradient views provided by the hosting layer. | |
| virtual void | link_states (span< const TensorView >) |
| Binds state views provided by the hosting layer. | |
| virtual void | set_parameters_random () |
| Initializes parameters with random values. | |
| virtual void | set_parameters_glorot () |
| Initializes parameters using Glorot (Xavier) initialization. | |
| virtual void | to_JSON (JsonWriter &) const |
| Serializes the operator configuration to a JSON writer. | |
| virtual void | from_JSON (const Json *) |
| Restores the operator configuration from a JSON node. | |
| virtual void | load_state_from_JSON (const Json *) |
| Restores persistent state (e.g. running statistics) from a JSON node. | |
| virtual void | destroy_cuda () |
| Releases CUDA resources owned by the operator; called from destructors. | |
| TensorView & | get_input (ForwardPropagation &fp, size_t layer, size_t i=0) const noexcept |
| vector< TensorView > & | get_inputs (ForwardPropagation &fp, size_t layer, size_t i=0) const noexcept |
| TensorView & | get_output (ForwardPropagation &fp, size_t layer, size_t i=0) const noexcept |
| TensorView & | get_output_delta (BackPropagation &bp, size_t layer, size_t i=0) const noexcept |
| TensorView & | get_input_delta (BackPropagation &bp, size_t layer, size_t i=0) const noexcept |
Public Attributes | |
| Index | heads_number = 0 |
| Index | query_sequence_length = 0 |
| Index | head_dimension = 0 |
| Type | compute_dtype = Type::FP32 |
Public Attributes inherited from opennn::Operator | |
| vector< size_t > | input_slots = {0} |
| vector< size_t > | output_slots = {1} |
| vector< size_t > | input_delta_slots = {1} |
| vector< size_t > | output_delta_slots = {0} |
Detailed Description
Reshapes (batch, heads, seq, head_dim) tensors back into (batch, seq, embed); no parameters.
Member Function Documentation
◆ back_propagate()
|
overridevirtualnoexcept |
Runs the operator's backward computation, accumulating into gradient/delta buffers.
- Parameters
-
fp Forward propagation workspace (read-only). bp Back propagation workspace receiving gradients and deltas. layer Index of the hosting layer in the workspace.
Reimplemented from opennn::Operator.
◆ forward_propagate()
|
overridevirtualnoexcept |
Runs the operator's forward computation.
- Parameters
-
fp Forward propagation workspace. layer Index of the hosting layer in the workspace. is_training If true, enables training-only behavior (e.g. dropout sampling).
Reimplemented from opennn::Operator.
◆ set()
| void opennn::MergeOp::set | ( | Index | heads_number, |
| Index | query_sequence_length, | ||
| Index | head_dimension, | ||
| Type | compute_dtype ) |
Configures the merge geometry.
Member Data Documentation
◆ compute_dtype
| Type opennn::MergeOp::compute_dtype = Type::FP32 |
◆ head_dimension
| Index opennn::MergeOp::head_dimension = 0 |
◆ heads_number
| Index opennn::MergeOp::heads_number = 0 |
◆ query_sequence_length
| Index opennn::MergeOp::query_sequence_length = 0 |
Public Member Functions inherited from