|
| CpuLayerNormOp (const LayerNormConfig &config) |
| Constructs a new CPU Layer Normalization operation with the default device context.
|
|
| CpuLayerNormOp (std::shared_ptr< DeviceContext > context, const LayerNormConfig &config) |
| Constructs a new CPU Layer Normalization operation with a specific device context.
|
|
void | backward (float *dinp, float *dweight, float *dbias, float *dout, float *inp, float *weight, float *mean, float *rstd, int B, int T, int C) |
| Performs the backward pass of the Layer Normalization operation.
|
|
void | forward (const Tensor< float, MR > &input, const std::vector< std::shared_ptr< Tensor< float, MR > > > ¶meters, const OperationAttributes &attributes, Tensor< float, MR > &output, std::vector< std::shared_ptr< Tensor< float, MR > > > &output_state) const override |
| Performs the forward pass of the Layer Normalization operation.
|
|
std::string | getName () const override |
| Gets the name of this operation.
|
|
| UnaryOperation (OperationType operation_type) |
| Constructs a UnaryOperation with the specified operation type.
|
|
| UnaryOperation (OperationType operation_type, std::shared_ptr< DeviceContext > context) |
| Constructs a UnaryOperation with the specified operation type and device context.
|
|
virtual | ~UnaryOperation ()=default |
| Virtual destructor for proper cleanup of derived classes.
|
|
virtual void | backward (const Tensor< float, MR > &grad, const std::vector< std::shared_ptr< Tensor< float, MR > > > ¶meters, std::vector< std::shared_ptr< Tensor< float, MR > > > &output_grads) const |
| Executes the backward pass of a unary operation.
|
|
virtual void | backward (const Tensor< float, MR > &input, const Tensor< float, MR > &output_grad, const std::vector< std::shared_ptr< Tensor< float, MR > > > ¶meters, std::vector< std::shared_ptr< Tensor< float, MR > > > ¶meter_grads, Tensor< float, MR > &input_grad, const OperationAttributes &properties, const std::vector< std::shared_ptr< Tensor< float, MR > > > &output_state) const |
| Executes the comprehensive backward pass of a unary operation.
|
|
virtual void | forward (const Tensor< float, MR > &input, const std::vector< std::shared_ptr< Tensor< float, MR > > > ¶meters, const OperationAttributes &properties, Tensor< float, MR > &output, std::vector< std::shared_ptr< Tensor< float, MR > > > &output_state) const=0 |
| Executes the forward pass of a unary operation.
|
|
| OperationBase (OperationType operation_type, std::shared_ptr< DeviceContext > context) |
| Constructs an OperationBase object with a specific device context and compute precision.
|
|
virtual | ~OperationBase ()=default |
| Virtual destructor for the OperationBase class.
|
|
std::shared_ptr< DeviceContext > | getDeviceContext () const |
| Gets the device context associated with this operation.
|
|
DeviceType | getDeviceType () const |
| Gets the device type for this operation.
|
|
OperationType | getOperationType () const |
| Gets the operation type enumeration value.
|
|
CPU implementation of the Layer Normalization operation for neural networks.
This class provides a CPU-based implementation of the Layer Normalization operation, which normalizes inputs across the features dimension for each sample in a batch. Layer normalization helps stabilize training by reducing internal covariate shift and is commonly used in transformer architectures and other deep neural networks.
The operation normalizes each input vector independently, unlike batch normalization which normalizes across the batch dimension.
CPU operations always use full precision regardless of policy settings.
- Template Parameters
-
TInput | The data type of the input tensor elements. |
TDataType | The data type used for computation and output (defaults to the input type). |