Loading...
Searching...
No Matches
Classes |
Public Types |
Public Member Functions |
Protected Member Functions |
Protected Attributes |
List of all members
opennn::Network Class Reference
#include <opennn/network/network.h>
Inheritance diagram for opennn::Network:
Classes | |
| struct | DeviceResidency |
| struct | HostParametersGuard |
Public Types | |
| enum class | ParameterStorage { Host , DeviceMaster , DeviceMasterWithMirror , DeviceCompact } |
Public Member Functions | |
| Network () | |
| virtual | ~Network ()=default |
| Network (const filesystem::path &) | |
| NetworkTask | get_task () const noexcept |
| void | set_task (NetworkTask new_task) noexcept |
| Index | add_layer (unique_ptr< Layer >, const vector< Index > &={}) |
| const EffectiveConfig & | get_config () const noexcept |
| Device | get_device () const noexcept |
| bool | is_gpu () const noexcept |
| Type | get_training_type () const noexcept |
| const PrecisionPlan & | get_precision () const noexcept |
| Type | get_activation_type () const noexcept |
| void | set_training_activation_recomputation (bool enabled) noexcept |
| bool | get_training_activation_recomputation () const noexcept |
| void | warn_if_stale_configuration () const |
| vector< vector< TensorSpec > > | get_parameter_specs () const |
| vector< vector< TensorSpec > > | get_state_specs () const |
| vector< vector< TensorSpec > > | get_forward_specs (Index batch_size) const |
| vector< vector< TensorSpec > > | get_backward_specs (Index batch_size) const |
| Index | get_states_size () const |
| void | compile () |
| void | compile (Device device) |
| void | set_attention_sdpa_auto (bool) |
| void | set_attention_sdpa_min_sequence_length (Index) |
| bool | has (const string &) const |
| bool | has (LayerType) const |
| bool | has_recurrent_layers () const |
| bool | is_empty () const noexcept |
| uint64_t | get_parameters_version () const noexcept |
| void | mark_parameters_changed () noexcept |
| float * | get_parameters_data () |
| const float * | get_parameters_data () const |
| VectorMap | get_parameters_map () & |
| ConstVectorMap | get_parameters_map () const & |
| Index | get_parameters_buffer_size () const noexcept |
| Device | get_parameters_device () const noexcept |
| float * | get_states_data () |
| const float * | get_states_data () const |
| Index | get_states_buffer_size () const noexcept |
| const vector< Variable > & | get_input_variables () const noexcept |
| vector< string > | get_input_feature_names () const |
| const vector< Variable > & | get_output_variables () const noexcept |
| vector< string > | get_output_feature_names () const |
| const vector< unique_ptr< Layer > > & | get_layers () const noexcept |
| const unique_ptr< Layer > & | get_layer (const Index layer_index) const |
| const unique_ptr< Layer > & | get_layer (const string &) const |
| Index | get_layer_index (const string &) const |
| const vector< vector< Index > > & | get_source_layers () const noexcept |
| vector< vector< pair< size_t, size_t > > > | get_consumer_edges () const |
| Layer * | get_first (const string &) |
| Layer * | get_first (LayerType) |
| const Layer * | get_first (const string &) const |
| const Layer * | get_first (LayerType) const |
| 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 > &) |
| void | set_output_names (const vector< string > &) |
| void | set_input_shape (const Shape &) |
| void | clear () |
| void | steal_from (Network &src) |
| Index | get_layers_number () const noexcept |
| Index | get_layers_number (const string &) const |
| Index | get_layers_number (LayerType) const |
| Index | get_first_trainable_layer_index () const |
| Index | get_last_trainable_layer_index () const |
| Index | get_inputs_number () const |
| Index | get_outputs_number () const |
| Shape | get_input_shape () const |
| Shape | get_output_shape () const |
| ActivationFunction | get_output_activation () const |
| Index | get_parameters_number () const |
| void | set_parameters (const VectorR &) |
| void | set_states (const VectorR &) |
| void | set_parameters_random () |
| void | set_parameters_glorot () |
| void | set_parameters_pytorch () |
| void | link_parameters () |
| ParameterStorage | get_parameter_storage () const noexcept |
| bool | fp32_master_released () const noexcept |
| bool | low_precision_storage_ready () const noexcept |
| void | link_gradients (const Buffer &) const |
| void | link_gradients (span< const TensorView > layer_gradients) const |
| void | link_states () |
| void | link_states (Device) |
| MatrixR | calculate_outputs (const vector< TensorView > &) |
| void | calculate_outputs (const vector< TensorView > &, MatrixR &outputs) |
| TensorView | calculate_outputs_resident (const vector< TensorView > &, ForwardPropagation &, bool upload_parameters=true) |
| MatrixR | calculate_outputs (const MatrixR &) |
| MatrixR | calculate_outputs (const Tensor3 &) |
| MatrixR | calculate_outputs (const Tensor4 &) |
| MatrixR | calculate_text_outputs (const Tensor< string, 1 > &) |
| void | set_tokenizer (unique_ptr< TokenizerOperator >, const string &label="tokenizer") |
| const TokenizerOperator * | get_tokenizer (const string &label="tokenizer") const |
| void | set_vocabulary (const vector< string > &, const string &label="tokenizer") |
| const vector< string > & | get_vocabulary (const string &label="tokenizer") const |
| void | calculate_outputs (const MatrixR &, MatrixR &outputs) |
| void | calculate_outputs (const Tensor3 &, MatrixR &outputs) |
| void | calculate_outputs (const Tensor4 &, MatrixR &outputs) |
| Tensor3 | calculate_outputs (const Tensor3 &, const Tensor3 &) |
| void | calculate_outputs (const Tensor3 &, const Tensor3 &, Tensor3 &outputs) |
| void | from_JSON (const JsonDocument &) |
| void | to_JSON (JsonWriter &) const |
| void | save (const filesystem::path &) const |
| void | save_parameters_binary (const filesystem::path &) const |
| void | save_states_binary (const filesystem::path &) const |
| void | load (const filesystem::path &) |
| void | load_parameters_binary (const filesystem::path &) |
| void | load_parameters_bf16_inference_binary (const filesystem::path &) |
| void | load_states_binary (const filesystem::path &) |
| void | forward_propagate (const vector< TensorView > &, ForwardPropagation &, ForwardPropagationMode=ForwardPropagationMode::Inference) const |
| void | forward_propagate (const vector< TensorView > &, ForwardPropagation &, ForwardPropagationMode, Index, Index) const |
| void | forward_propagate (const vector< TensorView > &, const VectorR &, ForwardPropagation &) |
| void | cast_parameters_to_bf16 () |
| void | release_bf16_fp32_parameter_master_for_inference () |
| void | upload_parameters_bf16_inference () |
| void | upload_parameters_int8_inference () |
| bfloat16 * | get_parameters_bf16_mirror_data () |
| void | copy_parameters_device () |
| void | copy_parameters_host () |
| void | copy_states_device () |
| void | copy_states_host () |
| vector< string > | get_layer_labels () const |
Protected Member Functions | |
| Network (NetworkTask) | |
| Network (const filesystem::path &, NetworkTask) | |
| void | finalize_build () |
| void | configure_layers (const function< void(Layer &)> &) |
| void | set_attention_and_dense_dropout (float, initializer_list< string_view > dense_prefixes) |
| void | compile_and_load_parameters_bf16_inference_binary (const filesystem::path &) |
| DeviceResidency | get_device_residency () const noexcept |
Protected Attributes | |
| NetworkTask | task = NetworkTask::Generic |
| vector< Variable > | input_variables |
| vector< Variable > | output_variables |
| vector< unique_ptr< Layer > > | layers |
| vector< vector< Index > > | source_layers |
| uint64_t | parameters_version = 1 |
| detail::ParameterStore | parameter_store |
| Buffer | states |
| EffectiveConfig | config |
| PrecisionPlan | precision |
| bool | training_activation_recomputation = false |
| bool | stale_configuration_warned = false |
| const void * | linked_gradient_base = nullptr |
Member Enumeration Documentation
◆ ParameterStorage
|
strong |
Constructor & Destructor Documentation
◆ Network() [1/4]
| opennn::Network::Network | ( | ) |
◆ ~Network()
|
virtualdefault |
◆ Network() [2/4]
| opennn::Network::Network | ( | const filesystem::path & | ) |
◆ Network() [3/4]
|
explicitprotected |
◆ Network() [4/4]
|
protected |
Member Function Documentation
◆ add_layer()
| Index opennn::Network::add_layer | ( | unique_ptr< Layer > | , |
| const vector< Index > & | = {} ) |
◆ calculate_outputs() [1/10]
◆ calculate_outputs() [2/10]
◆ calculate_outputs() [3/10]
◆ calculate_outputs() [4/10]
◆ calculate_outputs() [5/10]
◆ calculate_outputs() [6/10]
◆ calculate_outputs() [7/10]
◆ calculate_outputs() [8/10]
◆ calculate_outputs() [9/10]
| MatrixR opennn::Network::calculate_outputs | ( | const vector< TensorView > & | ) |
◆ calculate_outputs() [10/10]
| void opennn::Network::calculate_outputs | ( | const vector< TensorView > & | , |
| MatrixR & | outputs ) |
◆ calculate_outputs_resident()
| TensorView opennn::Network::calculate_outputs_resident | ( | const vector< TensorView > & | , |
| ForwardPropagation & | , | ||
| bool | upload_parameters = true ) |
◆ calculate_text_outputs()
| MatrixR opennn::Network::calculate_text_outputs | ( | const Tensor< string, 1 > & | ) |
◆ cast_parameters_to_bf16()
| void opennn::Network::cast_parameters_to_bf16 | ( | ) |
◆ clear()
| void opennn::Network::clear | ( | ) |
◆ compile() [1/2]
| void opennn::Network::compile | ( | ) |
◆ compile() [2/2]
| void opennn::Network::compile | ( | Device | device | ) |
◆ compile_and_load_parameters_bf16_inference_binary()
|
protected |
◆ configure_layers()
|
protected |
◆ copy_parameters_device()
| void opennn::Network::copy_parameters_device | ( | ) |
◆ copy_parameters_host()
| void opennn::Network::copy_parameters_host | ( | ) |
◆ copy_states_device()
| void opennn::Network::copy_states_device | ( | ) |
◆ copy_states_host()
| void opennn::Network::copy_states_host | ( | ) |
◆ finalize_build()
|
protected |
◆ forward_propagate() [1/3]
| void opennn::Network::forward_propagate | ( | const vector< TensorView > & | , |
| const VectorR & | , | ||
| ForwardPropagation & | ) |
◆ forward_propagate() [2/3]
| void opennn::Network::forward_propagate | ( | const vector< TensorView > & | , |
| ForwardPropagation & | , | ||
| ForwardPropagationMode | , | ||
| Index | , | ||
| Index | ) const |
◆ forward_propagate() [3/3]
| void opennn::Network::forward_propagate | ( | const vector< TensorView > & | , |
| ForwardPropagation & | , | ||
| ForwardPropagationMode | = ForwardPropagationMode::Inference ) const |
◆ fp32_master_released()
|
inlinenoexcept |
◆ from_JSON()
| void opennn::Network::from_JSON | ( | const JsonDocument & | ) |
◆ get_activation_type()
|
inlinenoexcept |
◆ get_backward_specs()
|
inline |
◆ get_config()
|
inlinenoexcept |
◆ get_consumer_edges()
| vector< vector< pair< size_t, size_t > > > opennn::Network::get_consumer_edges | ( | ) | const |
◆ get_device()
|
inlinenoexcept |
◆ get_device_residency()
|
protectednoexcept |
◆ get_first() [1/4]
| Layer * opennn::Network::get_first | ( | const string & | ) |
◆ get_first() [2/4]
| const Layer * opennn::Network::get_first | ( | const string & | ) | const |
◆ get_first() [3/4]
◆ get_first() [4/4]
◆ get_first_trainable_layer_index()
| Index opennn::Network::get_first_trainable_layer_index | ( | ) | const |
◆ get_forward_specs()
|
inline |
◆ get_input_feature_names()
|
inline |
◆ get_input_shape()
| Shape opennn::Network::get_input_shape | ( | ) | const |
◆ get_input_variables()
|
inlinenoexcept |
◆ get_inputs_number()
|
inline |
◆ get_last_trainable_layer_index()
| Index opennn::Network::get_last_trainable_layer_index | ( | ) | const |
◆ get_layer() [1/2]
|
inline |
◆ get_layer() [2/2]
| const unique_ptr< Layer > & opennn::Network::get_layer | ( | const string & | ) | const |
◆ get_layer_index()
| Index opennn::Network::get_layer_index | ( | const string & | ) | const |
◆ get_layer_labels()
| vector< string > opennn::Network::get_layer_labels | ( | ) | const |
◆ get_layers()
|
inlinenoexcept |
◆ get_layers_number() [1/3]
|
inlinenoexcept |
◆ get_layers_number() [2/3]
| Index opennn::Network::get_layers_number | ( | const string & | ) | const |
◆ get_layers_number() [3/3]
| Index opennn::Network::get_layers_number | ( | LayerType | ) | const |
◆ get_output_activation()
| ActivationFunction opennn::Network::get_output_activation | ( | ) | const |
◆ get_output_feature_names()
|
inline |
◆ get_output_shape()
| Shape opennn::Network::get_output_shape | ( | ) | const |
◆ get_output_variables()
|
inlinenoexcept |
◆ get_outputs_number()
|
inline |
◆ get_parameter_specs()
|
inline |
◆ get_parameter_storage()
|
inlinenoexcept |
◆ get_parameters_bf16_mirror_data()
|
inline |
◆ get_parameters_buffer_size()
|
inlinenoexcept |
◆ get_parameters_data() [1/2]
|
inline |
◆ get_parameters_data() [2/2]
|
inline |
◆ get_parameters_device()
|
inlinenoexcept |
◆ get_parameters_map() [1/2]
|
inline |
◆ get_parameters_map() [2/2]
|
inline |
◆ get_parameters_number()
| Index opennn::Network::get_parameters_number | ( | ) | const |
◆ get_parameters_version()
|
inlinenoexcept |
◆ get_precision()
|
inlinenoexcept |
◆ get_source_layers()
|
inlinenoexcept |
◆ get_state_specs()
|
inline |
◆ get_states_buffer_size()
|
inlinenoexcept |
◆ get_states_data() [1/2]
|
inline |
◆ get_states_data() [2/2]
|
inline |
◆ get_states_size()
|
inline |
◆ get_task()
|
inlinenoexcept |
◆ get_tokenizer()
| const TokenizerOperator * opennn::Network::get_tokenizer | ( | const string & | label = "tokenizer" | ) | const |
◆ get_training_activation_recomputation()
|
inlinenoexcept |
◆ get_training_type()
|
inlinenoexcept |
◆ get_vocabulary()
| const vector< string > & opennn::Network::get_vocabulary | ( | const string & | label = "tokenizer" | ) | const |
◆ has() [1/2]
| bool opennn::Network::has | ( | const string & | ) | const |
◆ has() [2/2]
| bool opennn::Network::has | ( | LayerType | ) | const |
◆ has_recurrent_layers()
| bool opennn::Network::has_recurrent_layers | ( | ) | const |
◆ is_empty()
|
inlinenoexcept |
◆ is_gpu()
|
inlinenoexcept |
◆ link_gradients() [1/2]
| void opennn::Network::link_gradients | ( | const Buffer & | ) | const |
◆ link_gradients() [2/2]
| void opennn::Network::link_gradients | ( | span< const TensorView > | layer_gradients | ) | const |
◆ link_parameters()
| void opennn::Network::link_parameters | ( | ) |
◆ link_states() [1/2]
| void opennn::Network::link_states | ( | ) |
◆ link_states() [2/2]
| void opennn::Network::link_states | ( | Device | ) |
◆ load()
| void opennn::Network::load | ( | const filesystem::path & | ) |
◆ load_parameters_bf16_inference_binary()
| void opennn::Network::load_parameters_bf16_inference_binary | ( | const filesystem::path & | ) |
◆ load_parameters_binary()
| void opennn::Network::load_parameters_binary | ( | const filesystem::path & | ) |
◆ load_states_binary()
| void opennn::Network::load_states_binary | ( | const filesystem::path & | ) |
◆ low_precision_storage_ready()
|
inlinenoexcept |
◆ mark_parameters_changed()
|
inlinenoexcept |
◆ release_bf16_fp32_parameter_master_for_inference()
| void opennn::Network::release_bf16_fp32_parameter_master_for_inference | ( | ) |
◆ save()
| void opennn::Network::save | ( | const filesystem::path & | ) | const |
◆ save_parameters_binary()
| void opennn::Network::save_parameters_binary | ( | const filesystem::path & | ) | const |
◆ save_states_binary()
| void opennn::Network::save_states_binary | ( | const filesystem::path & | ) | const |
◆ set_attention_and_dense_dropout()
|
protected |
◆ set_attention_sdpa_auto()
| void opennn::Network::set_attention_sdpa_auto | ( | bool | ) |
◆ set_attention_sdpa_min_sequence_length()
| void opennn::Network::set_attention_sdpa_min_sequence_length | ( | Index | ) |
◆ set_input_names()
| void opennn::Network::set_input_names | ( | const vector< string > & | ) |
◆ set_input_shape()
| void opennn::Network::set_input_shape | ( | const Shape & | ) |
◆ set_input_variables()
|
inline |
◆ set_output_names()
| void opennn::Network::set_output_names | ( | const vector< string > & | ) |
◆ set_output_variables()
|
inline |
◆ set_parameters()
| void opennn::Network::set_parameters | ( | const VectorR & | ) |
◆ set_parameters_glorot()
|
inline |
◆ set_parameters_pytorch()
|
inline |
◆ set_parameters_random()
|
inline |
◆ set_states()
| void opennn::Network::set_states | ( | const VectorR & | ) |
◆ set_task()
|
inlinenoexcept |
◆ set_tokenizer()
| void opennn::Network::set_tokenizer | ( | unique_ptr< TokenizerOperator > | , |
| const string & | label = "tokenizer" ) |
◆ set_training_activation_recomputation()
|
inlinenoexcept |
◆ set_vocabulary()
| void opennn::Network::set_vocabulary | ( | const vector< string > & | , |
| const string & | label = "tokenizer" ) |
◆ steal_from()
| void opennn::Network::steal_from | ( | Network & | src | ) |
◆ to_JSON()
| void opennn::Network::to_JSON | ( | JsonWriter & | ) | const |
◆ upload_parameters_bf16_inference()
| void opennn::Network::upload_parameters_bf16_inference | ( | ) |
◆ upload_parameters_int8_inference()
| void opennn::Network::upload_parameters_int8_inference | ( | ) |
◆ warn_if_stale_configuration()
| void opennn::Network::warn_if_stale_configuration | ( | ) | const |
Member Data Documentation
◆ config
|
protected |
◆ input_variables
|
protected |
◆ layers
|
protected |
◆ linked_gradient_base
|
mutableprotected |
◆ output_variables
|
protected |
◆ parameter_store
|
protected |
◆ parameters_version
|
protected |
◆ precision
|
protected |
◆ source_layers
|
protected |
◆ stale_configuration_warned
|
mutableprotected |
◆ states
|
protected |
◆ task
|
protected |
◆ training_activation_recomputation
|
protected |