2D convolutional layer with kernel, stride, padding, activation, and optional batch normalization.
More...
|
| | Convolutional (const Shape &={3, 3, 1}, const Shape &={3, 3, 1, 1}, const string &="Identity", const Shape &={1, 1}, const string &="Valid", bool=false, const string &="convolutional_layer") |
| | Constructs a convolutional layer with the given shapes and activation.
|
| |
| Shape | get_input_shape () const override |
| | Returns the input tensor shape (height, width, channels).
|
| |
| Shape | get_output_shape () const override |
| | Returns the output tensor shape after convolution.
|
| |
| Index | get_output_height () const |
| | Returns the output feature map height.
|
| |
| Index | get_output_width () const |
| | Returns the output feature map width.
|
| |
| Index | get_input_height () const |
| |
| Index | get_input_width () const |
| |
| Index | get_input_channels () const |
| |
| Index | get_kernel_height () const |
| |
| Index | get_kernel_width () const |
| |
| Index | get_kernel_channels () const |
| |
| Index | get_kernels_number () const |
| |
| Index | get_row_stride () const |
| |
| Index | get_column_stride () const |
| |
| pair< Index, Index > | get_padding () const |
| | Returns padding along height and width (in that order).
|
| |
| Index | get_padding_height () const |
| | Returns the padding applied along the height axis.
|
| |
| Index | get_padding_width () const |
| | Returns the padding applied along the width axis.
|
| |
| bool | get_use_padding () const |
| |
| ActivationOp::Function | get_activation_function () const |
| |
| ActivationOp::Function | get_output_activation () const override |
| | Returns the layer's output activation (Identity for most layers; overridden by Dense/Bounding).
|
| |
| bool | get_batch_normalization () const |
| |
| vector< TensorSpec > | get_forward_specs (Index batch_size) const override |
| | Returns the tensor specifications used during forward propagation.
|
| |
| void | set (const Shape &={0, 0, 0}, const Shape &={3, 3, 1, 1}, const string &="Identity", const Shape &={1, 1}, const string &="Valid", bool=false, const string &="convolutional_layer") |
| | Reconfigures the layer with new shapes and parameters.
|
| |
| void | set_input_shape (const Shape &) override |
| | Updates the layer for a new input shape and reinitializes derived sizes.
|
| |
| void | on_compute_dtype_changed () override |
| | Rebuilds the convolution operator when the compute dtype changes.
|
| |
| void | set_row_stride (const Index) |
| |
| void | set_column_stride (const Index) |
| |
| void | set_convolution_type (const string &) |
| | Sets convolution type ("Valid" or "Same") and updates padding.
|
| |
| void | set_activation_function (const string &) |
| | Sets the activation function by name.
|
| |
| void | set_batch_normalization (bool) |
| | Enables or disables batch normalization after the convolution.
|
| |
| void | read_JSON_body (const Json *) override |
| | Reads the layer configuration from a JSON node.
|
| |
| void | write_JSON_body (JsonWriter &) const override |
| | Writes the layer configuration to a JSON writer.
|
| |
| 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_backward_specs (Index batch_size) const |
| | Returns the tensor specs of the backward workspace; empty for non-trainable layers.
|
| |
| 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 | 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 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 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.
|
| |
2D convolutional layer with kernel, stride, padding, activation, and optional batch normalization.