Public Types | |
enum class | ActivationFunction { Threshold , SymmetricThreshold , Logistic , HyperbolicTangent , Linear , RectifiedLinear , ExponentialLinear , ScaledExponentialLinear , SoftPlus , SoftSign , HardSigmoid } |
Enumeration of available activation functions for the convolutional layer. More... | |
enum class | ConvolutionType { Valid , Same } |
Public Types inherited from Layer | |
enum class | Type { Scaling , Convolutional , Perceptron , Pooling , Probabilistic , LongShortTermMemory , Recurrent , Unscaling , Bounding } |
This enumeration represents the possible types of layers. More... | |
Public Member Functions | |
ConvolutionalLayer () | |
ConvolutionalLayer (const Tensor< Index, 1 > &, const Tensor< Index, 1 > &) | |
bool | is_empty () const |
Returns a boolean, true if convolutional layer is empty and false otherwise. More... | |
const Tensor< type, 1 > & | get_biases () const |
Returns the layer's biases. More... | |
const Tensor< type, 4 > & | get_synaptic_weights () const |
Returns the layer's synaptic weights. More... | |
Index | get_synaptic_weights_number () const |
Returns the number of layer's synaptic weights. More... | |
ActivationFunction | get_activation_function () const |
Returns the convolutional layer's activation function. More... | |
Tensor< Index, 1 > | get_outputs_dimensions () const |
Returns a vector containing the number of channels, rows and columns of the result of applying the layer's kernels to an image. More... | |
Tensor< Index, 1 > | get_input_variables_dimensions () const |
Returns the dimension of the input variables. More... | |
Index | get_outputs_rows_number () const |
Returns the number of rows the result of applying the layer's kernels to an image will have. More... | |
Index | get_outputs_columns_number () const |
Returns the number of columns the result of applying the layer's kernels to an image will have. More... | |
ConvolutionType | get_convolution_type () const |
Returns the padding option. More... | |
Index | get_column_stride () const |
Returns the column stride. More... | |
Index | get_row_stride () const |
Returns the row stride. More... | |
Index | get_kernels_number () const |
Returns the number of kernels of the layer. More... | |
Index | get_kernels_channels_number () const |
Returns the number of channels of the layer's kernels. More... | |
Index | get_kernels_rows_number () const |
Returns the number of rows of the layer's kernels. More... | |
Index | get_kernels_columns_number () const |
Returns the number of columns of the layer's kernels. More... | |
Index | get_padding_width () const |
Returns the total number of columns of zeroes to be added to an image before applying a kernel, which depends on the padding option set. More... | |
Index | get_padding_height () const |
Returns the total number of rows of zeroes to be added to an image before applying a kernel, which depends on the padding option set. More... | |
Index | get_inputs_channels_number () const |
Returns the number of channels of the input. More... | |
Index | get_inputs_rows_number () const |
Returns the number of rows of the input. More... | |
Index | get_inputs_columns_number () const |
Returns the number of columns of the input. More... | |
Index | get_inputs_number () const |
Returns the number of inputs. More... | |
Index | get_neurons_number () const |
Returns the number of neurons. More... | |
Tensor< type, 1 > | get_parameters () const |
Returns the layer's parameters in the form of a vector. More... | |
Index | get_parameters_number () const |
Returns the number of parameters of the layer. More... | |
void | set (const Tensor< Index, 1 > &, const Tensor< Index, 1 > &) |
void | set (const Tensor< type, 4 > &, const Tensor< type, 4 > &, const Tensor< type, 1 > &) |
void | set_activation_function (const ActivationFunction &) |
void | set_biases (const Tensor< type, 1 > &) |
void | set_synaptic_weights (const Tensor< type, 4 > &) |
void | set_convolution_type (const ConvolutionType &) |
void | set_parameters (const Tensor< type, 1 > &, const Index &index) |
void | set_row_stride (const Index &) |
void | set_column_stride (const Index &) |
void | set_biases_constant (const type &) |
void | set_synaptic_weights_constant (const type &) |
void | set_parameters_constant (const type &) |
void | set_parameters_random () |
void | insert_padding (const Tensor< type, 4 > &, Tensor< type, 4 > &) |
void | calculate_convolutions (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
Calculate convolutions. More... | |
void | calculate_convolutions (const Tensor< type, 4 > &, const Tensor< type, 2 > &, const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | calculate_activations (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
Calculates activations. More... | |
void | calculate_activations_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | calculate_outputs (const Tensor< type, 4 > &, Tensor< type, 4 > &) |
void | forward_propagate (const Tensor< type, 4 > &, LayerForwardPropagation *) |
void | forward_propagate (const Tensor< type, 2 > &, LayerForwardPropagation *) |
void | forward_propagate (const Tensor< type, 4 > &, Tensor< type, 1 >, LayerForwardPropagation *) |
void | forward_propagate (const Tensor< type, 2 > &, Tensor< type, 1 >, LayerForwardPropagation *) |
void | calculate_hidden_delta (Layer *, LayerForwardPropagation *, const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | calculate_hidden_delta_convolutional (ConvolutionalLayer *, const Tensor< type, 4 > &, const Tensor< type, 4 > &, const Tensor< type, 4 > &, Tensor< type, 2 > &) const |
void | calculate_hidden_delta_pooling (PoolingLayer *, const Tensor< type, 4 > &, const Tensor< type, 4 > &, const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | calculate_hidden_delta_perceptron (const PerceptronLayer *, const Tensor< type, 4 > &, const Tensor< type, 2 > &, const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | calculate_hidden_delta_probabilistic (ProbabilisticLayer *, const Tensor< type, 4 > &, const Tensor< type, 4 > &, const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | calculate_error_gradient (const Tensor< type, 4 > &, LayerForwardPropagation *, LayerBackPropagation &) const |
void | calculate_error_gradient (const Tensor< type, 2 > &, LayerForwardPropagation *, LayerBackPropagation &) const |
void | insert_gradient (LayerBackPropagation *, const Index &, Tensor< type, 1 > &) const |
void | to_2d (const Tensor< type, 4 > &, Tensor< type, 2 > &) const |
Public Member Functions inherited from Layer | |
string | get_name () const |
void | set_threads_number (const int &) |
virtual Tensor< type, 2 > | calculate_outputs (const Tensor< type, 2 > &) |
virtual Tensor< type, 2 > | calculate_outputs_from4D (const Tensor< type, 4 > &) |
virtual Tensor< type, 4 > | calculate_outputs_4D (const Tensor< type, 4 > &) |
virtual void | calculate_hidden_delta (LayerForwardPropagation *, LayerBackPropagation *, LayerBackPropagation *) const |
virtual void | calculate_hidden_delta_lm (LayerForwardPropagation *, LayerBackPropagationLM *, LayerBackPropagationLM *) const |
virtual void | calculate_error_gradient (const Tensor< type, 2 > &, LayerForwardPropagation *, LayerBackPropagation *) const |
virtual void | calculate_error_gradient (const Tensor< type, 4 > &, LayerForwardPropagation *, LayerBackPropagation *) const |
virtual void | calculate_squared_errors_Jacobian_lm (const Tensor< type, 2 > &, LayerForwardPropagation *, LayerBackPropagationLM *) |
virtual void | insert_squared_errors_Jacobian_lm (LayerBackPropagationLM *, const Index &, Tensor< type, 2 > &) const |
virtual void | set_inputs_number (const Index &) |
virtual void | set_neurons_number (const Index &) |
Type | get_type () const |
string | get_type_string () const |
Takes the type of layer used by the model. More... | |
virtual void | from_XML (const tinyxml2::XMLDocument &) |
virtual void | write_XML (tinyxml2::XMLPrinter &) const |
virtual string | write_expression (const Tensor< string, 1 > &, const Tensor< string, 1 > &) const |
virtual string | write_expression_c () const |
virtual string | write_expression_python () const |
Protected Attributes | |
Tensor< type, 4 > | synaptic_weights |
This tensor containing conection strengths from a layer's inputs to its neurons. More... | |
Tensor< type, 1 > | biases |
Index | row_stride = 1 |
Index | column_stride = 1 |
Tensor< Index, 1 > | input_variables_dimensions |
ConvolutionType | convolution_type = ConvolutionType::Valid |
ActivationFunction | activation_function = ActivationFunction::RectifiedLinear |
Protected Attributes inherited from Layer | |
NonBlockingThreadPool * | non_blocking_thread_pool = nullptr |
ThreadPoolDevice * | thread_pool_device = nullptr |
string | layer_name = "layer" |
Layer name. More... | |
Type | layer_type = Type::Perceptron |
Layer type. More... | |
const Eigen::array< IndexPair< Index >, 1 > | A_BT = {IndexPair<Index>(1, 1)} |
const Eigen::array< IndexPair< Index >, 1 > | AT_B = {IndexPair<Index>(0, 0)} |
const Eigen::array< IndexPair< Index >, 1 > | A_B = {IndexPair<Index>(1, 0)} |
Additional Inherited Members | |
Protected Member Functions inherited from Layer | |
void | hard_sigmoid (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | hyperbolic_tangent (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | logistic (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | linear (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | threshold (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | symmetric_threshold (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | rectified_linear (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | scaled_exponential_linear (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | soft_plus (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | soft_sign (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | exponential_linear (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | softmax (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | binary (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | competitive (const Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | hard_sigmoid_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | hyperbolic_tangent_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | linear_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | logistic_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | threshold_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | symmetric_threshold_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | rectified_linear_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | scaled_exponential_linear_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | soft_plus_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | soft_sign_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | exponential_linear_derivatives (const Tensor< type, 1 > &, Tensor< type, 1 > &, Tensor< type, 1 > &) const |
void | hard_sigmoid (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | hyperbolic_tangent (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | logistic (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | linear (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | threshold (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | symmetric_threshold (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | rectified_linear (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | scaled_exponential_linear (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | soft_plus (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | soft_sign (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | exponential_linear (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | softmax (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | binary (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | competitive (const Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | hard_sigmoid_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | hyperbolic_tangent_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | linear_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | logistic_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | threshold_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | symmetric_threshold_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | rectified_linear_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | scaled_exponential_linear_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | soft_plus_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | soft_sign_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | exponential_linear_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 2 > &) const |
void | logistic_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 3 > &) const |
void | softmax_derivatives (const Tensor< type, 2 > &, Tensor< type, 2 > &, Tensor< type, 3 > &) const |
void | linear (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | logistic (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | hyperbolic_tangent (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | threshold (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | symmetric_threshold (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | rectified_linear (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | scaled_exponential_linear (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | soft_plus (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | soft_sign (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | hard_sigmoid (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | exponential_linear (const Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | linear_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | logistic_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | hyperbolic_tangent_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | threshold_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | symmetric_threshold_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | rectified_linear_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | scaled_exponential_linear_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | soft_plus_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | soft_sign_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | hard_sigmoid_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
void | exponential_linear_derivatives (const Tensor< type, 4 > &, Tensor< type, 4 > &, Tensor< type, 4 > &) const |
Definition at line 38 of file convolutional_layer.h.
|
strong |
Enumeration of available activation functions for the convolutional layer.
Definition at line 45 of file convolutional_layer.h.
|
strong |
Definition at line 47 of file convolutional_layer.h.
|
explicit |
Default constructor. It creates an empty ConvolutionalLayer object.
Definition at line 22 of file convolutional_layer.cpp.
|
explicit |
Inputs' dimensions modifier constructor. After setting new dimensions for the inputs, it creates and initializes a ConvolutionalLayer object with a number of kernels of a given size. The initialization values are random values from a normal distribution.
new_inputs_dimensions | A vector containing the new inputs' dimensions. |
kernels_dimensions | A vector containing the number of kernels, their rows and columns. |
Definition at line 35 of file convolutional_layer.cpp.
void calculate_activations | ( | const Tensor< type, 4 > & | inputs, |
Tensor< type, 4 > & | activations | ||
) | const |
Calculates activations.
Definition at line 134 of file convolutional_layer.cpp.
void calculate_activations_derivatives | ( | const Tensor< type, 4 > & | combinations_4d, |
Tensor< type, 4 > & | activations, | ||
Tensor< type, 4 > & | activations_derivatives | ||
) | const |
Definition at line 163 of file convolutional_layer.cpp.
void calculate_convolutions | ( | const Tensor< type, 4 > & | inputs, |
const Tensor< type, 2 > & | potential_biases, | ||
const Tensor< type, 4 > & | potential_synaptic_weights, | ||
Tensor< type, 4 > & | convolutions | ||
) | const |
Definition at line 104 of file convolutional_layer.cpp.
void calculate_convolutions | ( | const Tensor< type, 4 > & | inputs, |
Tensor< type, 4 > & | combinations | ||
) | const |
Calculate convolutions.
Definition at line 82 of file convolutional_layer.cpp.
void calculate_error_gradient | ( | const Tensor< type, 2 > & | inputs, |
LayerForwardPropagation * | forward_propagation, | ||
LayerBackPropagation & | back_propagation | ||
) | const |
Definition at line 838 of file convolutional_layer.cpp.
void calculate_error_gradient | ( | const Tensor< type, 4 > & | inputs, |
LayerForwardPropagation * | forward_propagation, | ||
LayerBackPropagation & | back_propagation | ||
) | const |
Definition at line 776 of file convolutional_layer.cpp.
void calculate_hidden_delta | ( | Layer * | next_layer_pointer, |
LayerForwardPropagation * | forward_propagation, | ||
const Tensor< type, 2 > & | next_layer_delta, | ||
Tensor< type, 2 > & | hidden_delta | ||
) | const |
Definition at line 355 of file convolutional_layer.cpp.
void calculate_hidden_delta_convolutional | ( | ConvolutionalLayer * | next_layer_pointer, |
const Tensor< type, 4 > & | activations, | ||
const Tensor< type, 4 > & | activations_derivatives, | ||
const Tensor< type, 4 > & | next_layer_delta, | ||
Tensor< type, 2 > & | hidden_delta | ||
) | const |
Definition at line 408 of file convolutional_layer.cpp.
void calculate_hidden_delta_perceptron | ( | const PerceptronLayer * | next_layer_pointer, |
const Tensor< type, 4 > & | , | ||
const Tensor< type, 2 > & | activations_derivatives, | ||
const Tensor< type, 2 > & | next_layer_delta, | ||
Tensor< type, 2 > & | hidden_delta | ||
) | const |
Definition at line 649 of file convolutional_layer.cpp.
void calculate_hidden_delta_pooling | ( | PoolingLayer * | next_layer_pointer, |
const Tensor< type, 4 > & | activations, | ||
const Tensor< type, 4 > & | activations_derivatives, | ||
const Tensor< type, 2 > & | next_layer_delta, | ||
Tensor< type, 2 > & | hidden_delta | ||
) | const |
Definition at line 485 of file convolutional_layer.cpp.
void calculate_hidden_delta_probabilistic | ( | ProbabilisticLayer * | next_layer_pointer, |
const Tensor< type, 4 > & | activations, | ||
const Tensor< type, 4 > & | activations_derivatives, | ||
const Tensor< type, 2 > & | next_layer_delta, | ||
Tensor< type, 2 > & | hidden_delta | ||
) | const |
Definition at line 709 of file convolutional_layer.cpp.
void calculate_outputs | ( | const Tensor< type, 4 > & | inputs, |
Tensor< type, 4 > & | outputs | ||
) |
Returns the output of the convolutional layer applied to a batch of images.
inputs | The batch of images. |
outputs | Tensor where the outputs will be stored. |
Definition at line 198 of file convolutional_layer.cpp.
|
virtual |
Reimplemented from Layer.
Definition at line 247 of file convolutional_layer.cpp.
|
virtual |
Reimplemented from Layer.
Definition at line 335 of file convolutional_layer.cpp.
|
virtual |
Reimplemented from Layer.
Definition at line 212 of file convolutional_layer.cpp.
|
virtual |
Reimplemented from Layer.
Definition at line 262 of file convolutional_layer.cpp.
ConvolutionalLayer::ActivationFunction get_activation_function | ( | ) | const |
Returns the convolutional layer's activation function.
Definition at line 876 of file convolutional_layer.cpp.
const Tensor< type, 1 > & get_biases | ( | ) | const |
Returns the layer's biases.
Definition at line 1331 of file convolutional_layer.cpp.
Index get_column_stride | ( | ) | const |
Returns the column stride.
Definition at line 939 of file convolutional_layer.cpp.
ConvolutionalLayer::ConvolutionType get_convolution_type | ( | ) | const |
Returns the padding option.
Definition at line 931 of file convolutional_layer.cpp.
Tensor< Index, 1 > get_input_variables_dimensions | ( | ) | const |
Returns the dimension of the input variables.
Definition at line 923 of file convolutional_layer.cpp.
Index get_inputs_channels_number | ( | ) | const |
Returns the number of channels of the input.
Definition at line 1355 of file convolutional_layer.cpp.
Index get_inputs_columns_number | ( | ) | const |
Returns the number of columns of the input.
Definition at line 1371 of file convolutional_layer.cpp.
|
virtual |
Returns the number of inputs.
Reimplemented from Layer.
Definition at line 1029 of file convolutional_layer.cpp.
Index get_inputs_rows_number | ( | ) | const |
Returns the number of rows of the input.
Definition at line 1363 of file convolutional_layer.cpp.
Index get_kernels_channels_number | ( | ) | const |
Returns the number of channels of the layer's kernels.
Definition at line 963 of file convolutional_layer.cpp.
Index get_kernels_columns_number | ( | ) | const |
Returns the number of columns of the layer's kernels.
Definition at line 979 of file convolutional_layer.cpp.
Index get_kernels_number | ( | ) | const |
Returns the number of kernels of the layer.
Definition at line 955 of file convolutional_layer.cpp.
Index get_kernels_rows_number | ( | ) | const |
Returns the number of rows of the layer's kernels.
Definition at line 971 of file convolutional_layer.cpp.
|
virtual |
Returns the number of neurons.
Reimplemented from Layer.
Definition at line 1037 of file convolutional_layer.cpp.
Index get_outputs_columns_number | ( | ) | const |
Returns the number of columns the result of applying the layer's kernels to an image will have.
Definition at line 896 of file convolutional_layer.cpp.
Tensor< Index, 1 > get_outputs_dimensions | ( | ) | const |
Returns a vector containing the number of channels, rows and columns of the result of applying the layer's kernels to an image.
Definition at line 908 of file convolutional_layer.cpp.
Index get_outputs_rows_number | ( | ) | const |
Returns the number of rows the result of applying the layer's kernels to an image will have.
Definition at line 884 of file convolutional_layer.cpp.
Index get_padding_height | ( | ) | const |
Returns the total number of rows of zeroes to be added to an image before applying a kernel, which depends on the padding option set.
Definition at line 1008 of file convolutional_layer.cpp.
Index get_padding_width | ( | ) | const |
Returns the total number of columns of zeroes to be added to an image before applying a kernel, which depends on the padding option set.
Definition at line 987 of file convolutional_layer.cpp.
|
virtual |
Returns the layer's parameters in the form of a vector.
Reimplemented from Layer.
Definition at line 1049 of file convolutional_layer.cpp.
|
virtual |
Returns the number of parameters of the layer.
Reimplemented from Layer.
Definition at line 1089 of file convolutional_layer.cpp.
Index get_row_stride | ( | ) | const |
Returns the row stride.
Definition at line 947 of file convolutional_layer.cpp.
const Tensor< type, 4 > & get_synaptic_weights | ( | ) | const |
Returns the layer's synaptic weights.
Definition at line 1339 of file convolutional_layer.cpp.
|
virtual |
Returns the number of layer's synaptic weights.
Reimplemented from Layer.
Definition at line 1347 of file convolutional_layer.cpp.
|
virtual |
Reimplemented from Layer.
Definition at line 856 of file convolutional_layer.cpp.
void insert_padding | ( | const Tensor< type, 4 > & | inputs, |
Tensor< type, 4 > & | padded_output | ||
) |
Definition at line 59 of file convolutional_layer.cpp.
bool is_empty | ( | ) | const |
Returns a boolean, true if convolutional layer is empty and false otherwise.
Definition at line 46 of file convolutional_layer.cpp.
void set | ( | const Tensor< Index, 1 > & | new_inputs_dimensions, |
const Tensor< Index, 1 > & | new_kernels_dimensions | ||
) |
Sets and initializes the layer's parameters in accordance with the dimensions taken as input. The initialization values are random values from a normal distribution.
new_inputs_dimensions | A vector containing the desired inputs' dimensions (number of images, number of channels, rows number, columns number). |
new_kernels_dimensions | A vector containing the desired kernels' dimensions (number of kernels, number of channels, rows number, columns number). |
Definition at line 1100 of file convolutional_layer.cpp.
void set | ( | const Tensor< type, 4 > & | new_inputs, |
const Tensor< type, 4 > & | new_kernels, | ||
const Tensor< type, 1 > & | new_biases | ||
) |
Sets and initializes the layer's parameters in accordance with the dimensions taken as input. The initialization values are random values from a normal distribution.
Definition at line 1156 of file convolutional_layer.cpp.
void set_activation_function | ( | const ActivationFunction & | new_activation_function | ) |
Sets the layer's activation function.
new_activation_function | The desired activation function. |
Definition at line 1231 of file convolutional_layer.cpp.
void set_biases | ( | const Tensor< type, 1 > & | new_biases | ) |
Sets the layer's biases.
new_biases | The desired biases. |
Definition at line 1240 of file convolutional_layer.cpp.
void set_biases_constant | ( | const type & | value | ) |
Initializes the layer's biases to a given value.
value | The desired value. |
Definition at line 1192 of file convolutional_layer.cpp.
void set_column_stride | ( | const Index & | new_stride_column | ) |
Sets the kernels' column stride.
new_stride_row | The desired column stride. |
Definition at line 1281 of file convolutional_layer.cpp.
void set_convolution_type | ( | const ConvolutionType & | new_convolution_type | ) |
Sets the padding option.
new_convolution_type | The desired convolution type. |
Definition at line 1258 of file convolutional_layer.cpp.
|
virtual |
Sets the synaptic weights and biases to the given values.
new_parameters | A vector containing the synaptic weights and biases, in this order. |
Reimplemented from Layer.
Definition at line 1295 of file convolutional_layer.cpp.
|
virtual |
Initializes the layer's parameters to a given value.
value | The desired value. |
Reimplemented from Layer.
Definition at line 1210 of file convolutional_layer.cpp.
|
virtual |
Reimplemented from Layer.
Definition at line 1220 of file convolutional_layer.cpp.
void set_row_stride | ( | const Index & | new_stride_row | ) |
Sets the kernels' row stride.
new_stride_row | The desired row stride. |
Definition at line 1267 of file convolutional_layer.cpp.
void set_synaptic_weights | ( | const Tensor< type, 4 > & | new_synaptic_weights | ) |
Sets the layer's synaptic weights.
new_synaptic_weights | The desired synaptic weights. |
Definition at line 1249 of file convolutional_layer.cpp.
void set_synaptic_weights_constant | ( | const type & | value | ) |
Initializes the layer's synaptic weights to a given value.
value | The desired value. |
Definition at line 1201 of file convolutional_layer.cpp.
void to_2d | ( | const Tensor< type, 4 > & | input_4d, |
Tensor< type, 2 > & | output_2d | ||
) | const |
Definition at line 1377 of file convolutional_layer.cpp.
|
protected |
Definition at line 227 of file convolutional_layer.h.
|
protected |
Bias is a neuron parameter that is summed with the neuron's weighted inputs and passed through the neuron's trabsfer function to generate the neuron's output.
Definition at line 217 of file convolutional_layer.h.
|
protected |
Definition at line 221 of file convolutional_layer.h.
|
protected |
Definition at line 225 of file convolutional_layer.h.
|
protected |
Definition at line 223 of file convolutional_layer.h.
|
protected |
Definition at line 219 of file convolutional_layer.h.
|
protected |
This tensor containing conection strengths from a layer's inputs to its neurons.
Definition at line 212 of file convolutional_layer.h.