|
OpenNN
Open-source neural networks library
|
Factory neural network preconfigured for regression / function approximation. More...
#include <standard_networks.h>
Public Member Functions | |
| ApproximationNetwork (const Shape &input_shape, const Shape &complexity_dimensions, const Shape &output_shape) | |
| Builds an approximation network with the given input, complexity and output shapes. | |
Public Member Functions inherited from opennn::NeuralNetwork | |
| NeuralNetwork () | |
| Constructs an empty neural network. | |
| virtual | ~NeuralNetwork ()=default |
| NeuralNetwork (const filesystem::path &) | |
| Constructs a neural network and loads its definition from a JSON file. | |
| void | add_layer (unique_ptr< Layer >, const vector< Index > &={}) |
| Appends a layer to the network. | |
| const Configuration::Resolved & | get_config () const |
| bool | is_gpu () const |
| bool | is_cpu () const |
| Type | get_training_type () const |
| Type | get_inference_type () const |
| vector< vector< TensorSpec > > | get_parameter_specs () const |
| Returns the tensor specs of trainable parameters for every layer. | |
| vector< vector< TensorSpec > > | get_state_specs () const |
| Returns the tensor specs of persistent layer state (e.g. running statistics). | |
| vector< vector< TensorSpec > > | get_forward_specs (Index b) const |
| Returns the tensor specs of the forward-propagation workspace for each layer. | |
| vector< vector< TensorSpec > > | get_backward_specs (Index b) const |
| Returns the tensor specs of the back-propagation workspace for each layer. | |
| Index | get_states_size () const |
| Returns the total byte size required to hold all persistent layer states. | |
| void | compile () |
| Allocates buffers, resolves devices, and wires layer/operator views; call once after all layers are added. | |
| bool | has (const string &) const |
| Returns whether the network contains a layer with the given label. | |
| bool | has (LayerType) const |
| Returns whether the network contains at least one layer of the given type. | |
| bool | is_empty () const |
| float * | get_parameters_data () |
| const float * | get_parameters_data () const |
| Index | get_parameters_size () const |
| const vector< Variable > & | get_input_variables () const |
| vector< string > | get_input_feature_names () const |
| Returns the flat list of input feature names (expanding categorical variables). | |
| const vector< Variable > & | get_output_variables () const |
| vector< string > | get_output_feature_names () const |
| Returns the flat list of output feature names (expanding categorical variables). | |
| const vector< unique_ptr< Layer > > & | get_layers () const |
| const unique_ptr< Layer > & | get_layer (const Index i) const |
| const unique_ptr< Layer > & | get_layer (const string &) const |
| Returns the layer with the given label. | |
| Index | get_layer_index (const string &) const |
| Returns the index of the layer with the given label, or -1 if not found. | |
| const vector< vector< Index > > & | get_source_layers () const |
| vector< vector< Index > > | get_consumer_layers () const |
| Returns the inverse adjacency: for each layer, the indices of layers that consume its output. | |
| Layer * | get_first (const string &) |
| Returns the first layer matching the given label, or nullptr if not found. | |
| Layer * | get_first (LayerType) |
| Returns the first layer of the given type, or nullptr if not found. | |
| const Layer * | get_first (const string &) const |
| Returns the first layer matching the given label, or nullptr if not found. | |
| const Layer * | get_first (LayerType) const |
| Returns the first layer of the given type, or nullptr if not found. | |
| void | set_source_layers (const vector< vector< Index > > &new_source_layers) |
| Replaces the layer connectivity graph. | |
| void | set_source_layers (const Index layer_index, const vector< Index > &new_sources) |
| Replaces the source layers for one specific layer. | |
| void | set_source_layers (const string &, const vector< string > &) |
| Sets the source layers of a layer using labels for identification. | |
| void | set_source_layers (const string &, initializer_list< string >) |
| Sets the source layers of a layer using labels for identification. | |
| void | set_source_layers (const string &, const string &) |
| Convenience overload for a single source layer. | |
| void | set_input_variables (const vector< Variable > &new_input_variables) |
| void | set_output_variables (const vector< Variable > &new_output_variables) |
| void | set_input_names (const vector< string > &) |
| Sets the names of every input feature. | |
| void | set_output_names (const vector< string > &) |
| Sets the names of every output feature. | |
| void | set_input_shape (const Shape &) |
| Sets the shape of the input of the first layer and propagates it through the graph. | |
| void | clear () |
| Removes all layers and resets the network to an empty state. | |
| Index | get_layers_number () const |
| Index | get_layers_number (const string &) const |
| Returns the number of layers whose label contains the given substring. | |
| Index | get_layers_number (LayerType) const |
| Returns the number of layers of the given type. | |
| Index | get_first_trainable_layer_index () const |
| Returns the index of the first trainable layer (cached). | |
| Index | get_last_trainable_layer_index () const |
| Returns the index of the last trainable layer (cached). | |
| Index | get_inputs_number () const |
| Returns the number of input features expected by the first layer. | |
| Index | get_outputs_number () const |
| Returns the number of output features produced by the last layer. | |
| Shape | get_input_shape () const |
| Returns the shape of the input of the first layer. | |
| Shape | get_output_shape () const |
| Returns the shape of the output of the last layer. | |
| ActivationOp::Function | get_output_activation () const |
| Returns the activation function of the output layer. | |
| Index | get_parameters_number () const |
| Returns the total number of trainable parameters across all layers. | |
| void | set_parameters (const VectorR &new_parameters) |
Copies the contents of new_parameters into the network's parameter buffer. | |
| void | set_parameters_random () |
| Initializes every parameter with random values. | |
| void | set_parameters_glorot () |
| Initializes every parameter using Glorot (Xavier) initialization. | |
| void | link_parameters () |
| Wires the contiguous parameter buffer to per-layer / per-operator views. | |
| void | link_states () |
| Wires the contiguous state buffer to per-layer / per-operator views. | |
| MatrixR | calculate_outputs (const vector< TensorView > &) |
| Computes outputs for the given input tensor views. | |
| MatrixR | calculate_outputs (const MatrixR &) |
| Computes outputs for a 2D input matrix. | |
| MatrixR | calculate_outputs (const Tensor3 &) |
| Computes outputs for a 3D input tensor. | |
| MatrixR | calculate_outputs (const Tensor4 &) |
| Computes outputs for a 4D input tensor. | |
| MatrixR | calculate_directional_inputs (const Index, const VectorR &, float, float, Index=101) const |
| Generates samples by sweeping one input dimension across a range while keeping the others fixed. | |
| Tensor3 | calculate_outputs (const Tensor3 &, const Tensor3 &) |
| Computes outputs for an encoder/decoder model. | |
| Index | calculate_image_output (const filesystem::path &) |
| Reads an image file and returns the predicted class index. | |
| MatrixR | calculate_text_outputs (const Tensor< string, 1 > &) |
| Tokenizes the given strings and returns the network's outputs. | |
| void | from_JSON (const JsonDocument &) |
| Restores the network architecture and parameters from a JSON document. | |
| void | to_JSON (JsonWriter &) const |
| Serializes the network architecture and parameters to a JSON writer. | |
| void | save (const filesystem::path &) const |
| Saves the full network (architecture + parameters) to a JSON file. | |
| void | save_parameters (const filesystem::path &) const |
| Saves only the parameter values to a JSON file. | |
| void | save_parameters_binary (const filesystem::path &) const |
| Saves only the parameter values to a binary file. | |
| void | load (const filesystem::path &) |
| Loads the full network (architecture + parameters) from a JSON file. | |
| void | load_parameters_binary (const filesystem::path &) |
| Loads parameter values from a binary file produced by save_parameters_binary(). | |
| vector< string > | get_names_string () const |
| Returns the labels of all layers as a vector of strings. | |
| void | save_outputs (MatrixR &, const filesystem::path &) |
| Writes the output matrix to a CSV file. | |
| void | save_outputs (Tensor3 &, const filesystem::path &) |
| Writes the 3D output tensor to a CSV file. | |
| void | forward_propagate (const vector< TensorView > &, ForwardPropagation &, bool=false) const |
| Runs a forward pass over all layers. | |
| void | forward_propagate (const vector< TensorView > &, ForwardPropagation &, bool is_training, Index first_layer_index, Index last_layer_index) const |
| Runs a forward pass over a contiguous sub-range of layers. | |
| void | forward_propagate (const vector< TensorView > &, const VectorR &, ForwardPropagation &) |
| Runs a forward pass after temporarily overwriting the parameter buffer. | |
| vector< string > | get_layer_labels () const |
| Returns the labels of all layers in order. | |
Additional Inherited Members | |
Protected Attributes inherited from opennn::NeuralNetwork | |
| vector< Variable > | input_variables |
| vector< Variable > | output_variables |
| vector< unique_ptr< Layer > > | layers |
| vector< vector< Index > > | source_layers |
| Buffer | parameters |
| Buffer | parameters_bf16 {Device::CUDA} |
| Buffer | states |
| Configuration::Resolved | config |
| Index | first_trainable_cache_ = -1 |
| Index | last_trainable_cache_ = -1 |
Factory neural network preconfigured for regression / function approximation.