Loading...
Searching...
No Matches
opennn::Convolutional Class Referencefinal
#include <opennn/network/layers/convolutional_layer.h>
Inheritance diagram for opennn::Convolutional:
Public Member Functions | |
| Convolutional (const Shape &={3, 3, 1}, const Shape &={3, 3, 1, 1}, const string &="Identity", const Shape &={1, 1}, const string &="Valid", BatchNormalization=BatchNormalization::No, const string &="convolutional_layer") | |
| Shape | get_input_shape () const noexcept override |
| Shape | get_output_shape () const override |
| Index | get_output_height () const |
| Index | get_output_width () const |
| Index | get_kernel_height () const noexcept |
| Index | get_kernel_width () const noexcept |
| Index | get_kernel_channels () const noexcept |
| Index | get_kernels_number () const noexcept |
| Index | get_row_stride () const noexcept |
| Index | get_column_stride () const noexcept |
| Index | get_padding_height () const |
| Index | get_padding_width () const |
| ActivationFunction | get_activation_function () const noexcept |
| ActivationFunction | get_output_activation () const noexcept override |
| bool | get_batch_normalization () const |
| void | get_folded_parameters (vector< float > &kernel_oihw, vector< float > &bias) const |
| bool | get_residual () const noexcept |
| Index | get_sources_number () const noexcept override |
| void | set_residual (bool new_residual) |
| vector< TensorSpec > | get_forward_specs (Index) const override |
| vector< TensorSpec > | get_backward_specs (Index) const override |
| bool | backward_uses_forward_output () const noexcept override |
| bool | backward_uses_input (size_t input) const noexcept override |
| ForwardSlotKind | get_forward_slot_kind (size_t slot) const override |
| bool | is_forward_slot_inference_elidable (size_t slot, Device device) const noexcept override |
| bool | folds_input_delta_addend (size_t input) const noexcept override |
| size_t | get_recomputable_forward_slot () const noexcept override |
| void | recompute_forward_slot (ForwardPropagation &, size_t) override |
| void | set (const Shape &={0, 0, 0}, const Shape &={3, 3, 1, 1}, const string &="Identity", const Shape &={1, 1}, const string &="Valid", BatchNormalization=BatchNormalization::No, const string &="convolutional_layer") |
| bool | accepts_input_rank (Index rank) const override |
| void | apply_input_shape (const Shape &) override |
| void | on_compute_dtype_changed () override |
| void | set_activation_function (const string &) |
| void | set_batch_normalization (bool new_batch_normalization) |
| void | load_darknet_weights (FILE *) |
| void | load_onnx_folded_conv_bn (const float *kernel_nchw, const float *folded_bias) |
| void | load_onnx_conv_bias (const float *bias, const float *kernel_nchw) |
| void | reinit_onnx_cls_out (float prior_bias) |
| void | read_JSON_body (const Json *) override |
| void | write_JSON_body (JsonWriter &) const override |
| void | on_loaded () override |
| void | forward_propagate (ForwardPropagation &, size_t, ForwardPropagationMode) override |
Public Member Functions inherited from opennn::Layer | |
| virtual | ~Layer ()=default |
| const string & | get_label () const noexcept |
| const string & | get_name () const |
| LayerType | get_type () const noexcept |
| void | set_input_shape (const Shape &new_input_shape) |
| virtual void | set_output_shape (const Shape &) |
| void | set_label (string new_label) |
| Index | get_parameters_number () const |
| const vector< Operator * > & | get_operators () const noexcept |
| virtual vector< TensorSpec > | get_parameter_specs () const |
| virtual vector< TensorSpec > | get_state_specs () const |
| virtual bool | preserves_output_delta_during_backward () const noexcept |
| virtual bool | allows_input_delta_alias () const noexcept |
| virtual bool | allows_successors () const noexcept |
| virtual bool | is_recurrent () const noexcept |
| virtual bool | skip_for_pre_scaled_input () const noexcept |
| virtual bool | uses_sequence_position () const noexcept |
| virtual bool | allows_bf16_input_cast (size_t) const noexcept |
| Index | get_inputs_number () const noexcept |
| Index | get_outputs_number () const |
| virtual void | back_propagate (ForwardPropagation &forward_propagation, BackPropagation &back_propagation, size_t i) const |
| virtual void | from_JSON (const JsonDocument &) |
| virtual void | load_state_from_JSON (const JsonDocument &) |
| virtual void | to_JSON (JsonWriter &) const |
| virtual string | write_expression (const vector< string > &, const vector< string > &) const |
| bool | get_is_trainable () const noexcept |
| void | set_is_trainable (bool trainable) |
| Type | get_compute_dtype () const noexcept |
| Device | get_compute_device () const noexcept |
| void | set_compute_dtype (Type new_compute_dtype) |
| void | set_compute_device (Device new_compute_device) |
| virtual float * | link_states (float *, Device) |
| float * | link_gradients (float *, Device) |
| vector< TensorView > & | get_parameter_views () |
| const vector< TensorView > & | get_parameter_views () const noexcept |
| vector< TensorView > & | get_parameter_scales () |
| const vector< TensorView > & | get_parameter_scales () const noexcept |
| vector< Operator::SlotQuantization > | get_parameter_quantization () const |
| virtual TiedWeight | get_tied_weight () const |
| virtual void | set_tied_weight (const TiedWeight &tied_weight) |
| void | redistribute_parameters_to_operators () |
Additional Inherited Members | |
Protected Types inherited from opennn::Layer | |
| enum | Forward { Input , Output } |
Protected Member Functions inherited from opennn::Layer | |
| Layer (LayerType type, Trainability trainability=Trainability::Trainable) | |
| float * | link_views_to_operators (vector< TensorView > &, float *, vector< TensorSpec >(Operator::*specs_fn)() const, void(Operator::*link_fn)(span< const TensorView >), Device) |
Static Protected Member Functions inherited from opennn::Layer | |
| static bool | refresh_feature_storage (Buffer &storage, bool &dirty, Device device, Index features, Index columns, const function< void(float *)> &fill) |
Protected Attributes inherited from opennn::Layer | |
| string | label = "my_layer" |
| bool | is_trainable = true |
| Shape | input_shape |
| Type | compute_dtype = Type::FP32 |
| Type | weights_dtype = Type::FP32 |
| Device | compute_device = Device::CPU |
| vector< TensorView > | parameters |
| vector< TensorView > | parameter_scales |
| vector< TensorView > | states |
| vector< Operator * > | operators |
Constructor & Destructor Documentation
◆ Convolutional()
| opennn::Convolutional::Convolutional | ( | const Shape & | = {3, 3, 1}, |
| const Shape & | = {3, 3, 1, 1}, | ||
| const string & | = "Identity", | ||
| const Shape & | = {1, 1}, | ||
| const string & | = "Valid", | ||
| BatchNormalization | = BatchNormalization::No, | ||
| const string & | = "convolutional_layer" ) |
Member Function Documentation
◆ accepts_input_rank()
|
inlineoverridevirtual |
Reimplemented from opennn::Layer.
◆ apply_input_shape()
|
overridevirtual |
Reimplemented from opennn::Layer.
◆ backward_uses_forward_output()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ backward_uses_input()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ folds_input_delta_addend()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ forward_propagate()
|
overridevirtual |
Reimplemented from opennn::Layer.
◆ get_activation_function()
|
inlinenoexcept |
◆ get_backward_specs()
|
overridevirtual |
Reimplemented from opennn::Layer.
◆ get_batch_normalization()
|
inline |
◆ get_column_stride()
|
inlinenoexcept |
◆ get_folded_parameters()
| void opennn::Convolutional::get_folded_parameters | ( | vector< float > & | kernel_oihw, |
| vector< float > & | bias ) const |
◆ get_forward_slot_kind()
|
inlineoverridevirtual |
Reimplemented from opennn::Layer.
◆ get_forward_specs()
|
overridevirtual |
Reimplemented from opennn::Layer.
◆ get_input_shape()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ get_kernel_channels()
|
inlinenoexcept |
◆ get_kernel_height()
|
inlinenoexcept |
◆ get_kernel_width()
|
inlinenoexcept |
◆ get_kernels_number()
|
inlinenoexcept |
◆ get_output_activation()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ get_output_height()
| Index opennn::Convolutional::get_output_height | ( | ) | const |
◆ get_output_shape()
|
overridevirtual |
Implements opennn::Layer.
◆ get_output_width()
| Index opennn::Convolutional::get_output_width | ( | ) | const |
◆ get_padding_height()
| Index opennn::Convolutional::get_padding_height | ( | ) | const |
◆ get_padding_width()
| Index opennn::Convolutional::get_padding_width | ( | ) | const |
◆ get_recomputable_forward_slot()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ get_residual()
|
inlinenoexcept |
◆ get_row_stride()
|
inlinenoexcept |
◆ get_sources_number()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ is_forward_slot_inference_elidable()
|
inlineoverridevirtualnoexcept |
Reimplemented from opennn::Layer.
◆ load_darknet_weights()
| void opennn::Convolutional::load_darknet_weights | ( | FILE * | ) |
◆ load_onnx_conv_bias()
| void opennn::Convolutional::load_onnx_conv_bias | ( | const float * | bias, |
| const float * | kernel_nchw ) |
◆ load_onnx_folded_conv_bn()
| void opennn::Convolutional::load_onnx_folded_conv_bn | ( | const float * | kernel_nchw, |
| const float * | folded_bias ) |
◆ on_compute_dtype_changed()
|
inlineoverridevirtual |
Reimplemented from opennn::Layer.
◆ on_loaded()
|
inlineoverridevirtual |
Reimplemented from opennn::Layer.
◆ read_JSON_body()
|
overridevirtual |
Reimplemented from opennn::Layer.
◆ recompute_forward_slot()
|
overridevirtual |
Reimplemented from opennn::Layer.
◆ reinit_onnx_cls_out()
| void opennn::Convolutional::reinit_onnx_cls_out | ( | float | prior_bias | ) |
◆ set()
| void opennn::Convolutional::set | ( | const Shape & | = {0, 0, 0}, |
| const Shape & | = {3, 3, 1, 1}, | ||
| const string & | = "Identity", | ||
| const Shape & | = {1, 1}, | ||
| const string & | = "Valid", | ||
| BatchNormalization | = BatchNormalization::No, | ||
| const string & | = "convolutional_layer" ) |
◆ set_activation_function()
| void opennn::Convolutional::set_activation_function | ( | const string & | ) |
◆ set_batch_normalization()
| void opennn::Convolutional::set_batch_normalization | ( | bool | new_batch_normalization | ) |
◆ set_residual()
| void opennn::Convolutional::set_residual | ( | bool | new_residual | ) |
◆ write_JSON_body()
|
overridevirtual |
Reimplemented from opennn::Layer.
Public Member Functions inherited from