|
OpenNN
Open-source neural networks library
|
Element-wise addition layer that sums two input tensors of identical shape (residual connections). More...
#include <addition_layer.h>
Public Member Functions | |
| Addition (const Shape &={}, const string &="") | |
| Constructs an addition layer for the given input shape and label. | |
| Shape | get_output_shape () const override |
| Returns the output shape; subclasses must implement this to expose their geometry. | |
| vector< TensorSpec > | get_backward_specs (Index batch_size) const override |
| Returns the tensor specs of intermediate backward buffers for a given batch size. | |
| void | set (const Shape &, const string &) |
| Reconfigures the layer with a new input shape and label. | |
| void | set_input_shape (const Shape &shape) override |
| Sets the input shape; subclasses override to derive dependent dimensions. | |
Public Member Functions inherited from opennn::Layer | |
| virtual | ~Layer ()=default |
| const string & | get_label () const |
| const string & | get_name () const |
| LayerType | get_type () const |
| virtual void | set_output_shape (const Shape &) |
| Sets the output shape; subclasses override when the output is user-configurable. | |
| void | set_label (string new_label) |
| Index | get_parameters_number () const |
| Returns the total number of trainable parameters owned by this layer. | |
| const vector< Operator * > & | get_operators () const |
| virtual vector< TensorSpec > | get_parameter_specs () const |
| Returns the tensor specs of trainable parameters; subclasses override. | |
| virtual vector< TensorSpec > | get_state_specs () const |
| Returns the tensor specs of persistent state (e.g. running mean/variance). | |
| virtual vector< TensorSpec > | get_forward_specs (Index batch_size) const |
| Returns the tensor specs of the forward workspace; defaults to a single output tensor. | |
| virtual Shape | get_input_shape () const |
| Returns the input shape stored by the layer. | |
| virtual ActivationOp::Function | get_output_activation () const |
| Returns the layer's output activation (Identity for most layers; overridden by Dense/Bounding). | |
| Index | get_inputs_number () const |
| Index | get_outputs_number () const |
| virtual void | forward_propagate (ForwardPropagation &fp, size_t layer, bool is_training) noexcept |
| Runs the forward pass by chaining the layer's operators in order. | |
| virtual void | back_propagate (ForwardPropagation &fp, BackPropagation &bp, size_t i) const noexcept |
| Runs the backward pass by chaining the layer's operators in reverse order. | |
| virtual void | from_JSON (const JsonDocument &document) |
| Restores layer configuration and parameters from a JSON document. | |
| virtual void | read_JSON_body (const Json *) |
| Subclass hook reading the body section of the layer's JSON node. | |
| virtual void | load_state_from_JSON (const JsonDocument &document) |
| Restores persistent state (e.g. running statistics) from a JSON document. | |
| virtual void | to_JSON (JsonWriter &writer) const |
| Serializes layer configuration and parameters to a JSON writer. | |
| virtual void | write_JSON_body (JsonWriter &) const |
| Subclass hook writing the body section of the layer's JSON node. | |
| virtual string | write_expression (const vector< string > &, const vector< string > &) const |
| Returns a human-readable mathematical expression for this layer (empty by default). | |
| virtual void | print () const |
| Prints a human-readable summary of the layer to standard output. | |
| bool | get_is_trainable () const |
| Type | get_compute_dtype () const |
| void | set_compute_dtype (Type new_compute_dtype) |
| Sets the compute dtype and notifies subclasses via on_compute_dtype_changed(). | |
| virtual void | on_compute_dtype_changed () |
| Subclass hook invoked when the compute dtype changes; default is no-op. | |
| virtual float * | link_states (float *pointer) |
| Binds the persistent-state region of the shared buffer to operator views. | |
| float * | link_gradients (float *pointer, vector< TensorView > &gradient_views) |
| Binds the gradient slice of the shared buffer to operator gradient views. | |
| vector< TensorView > & | get_parameter_views () |
| const vector< TensorView > & | get_parameter_views () const |
| void | redistribute_parameters_to_operators () |
| Re-binds operator parameter views after the parameter buffer has been resized or moved. | |
Additional Inherited Members | |
Protected Types inherited from opennn::Layer | |
| enum | Forward { Input , Output } |
| enum | Backward { OutputDelta , InputDelta } |
Protected Member Functions inherited from opennn::Layer | |
| Layer ()=default | |
| Layer (LayerType t, bool trainable=true) | |
| float * | link_views_to_operators (vector< TensorView > &views, float *pointer, vector< TensorSpec >(Operator::*specs_fn)() const, void(Operator::*link_fn)(span< const TensorView >)) |
Protected Attributes inherited from opennn::Layer | |
| string | label = "my_layer" |
| LayerType | layer_type = LayerType::Dense |
| bool | is_trainable = true |
| Shape | input_shape |
| Type | compute_dtype = Type::FP32 |
| vector< TensorView > | parameters |
| vector< TensorView > | states |
| vector< Operator * > | operators |
Element-wise addition layer that sums two input tensors of identical shape (residual connections).
| opennn::Addition::Addition | ( | const Shape & | = {}, |
| const string & | = "" ) |
Constructs an addition layer for the given input shape and label.
|
overridevirtual |
Returns the tensor specs of intermediate backward buffers for a given batch size.
Reimplemented from opennn::Layer.
|
inlineoverridevirtual |
Returns the output shape; subclasses must implement this to expose their geometry.
Implements opennn::Layer.
| void opennn::Addition::set | ( | const Shape & | , |
| const string & | ) |
Reconfigures the layer with a new input shape and label.
|
inlineoverridevirtual |
Sets the input shape; subclasses override to derive dependent dimensions.
Reimplemented from opennn::Layer.