Loading...
Searching...
No Matches
network.h
Go to the documentation of this file.
154 auto specs = collect_layer_specs([batch_size](const Layer& layer) { return layer.get_forward_specs(batch_size); });
161 auto specs = collect_layer_specs([batch_size](const Layer& layer) { return layer.get_backward_specs(batch_size); });
197 float* get_parameters_data() { mark_parameters_changed(); return parameter_store.master.as<float>(); }
208 Index get_parameters_buffer_size() const noexcept { return parameter_store.master.size_in_floats(); }
215 vector<string> get_input_feature_names() const { return get_variable_feature_names(input_variables); }
218 vector<string> get_output_feature_names() const { return get_variable_feature_names(output_variables); }
221 const unique_ptr<Layer>& get_layer(const Index layer_index) const { return layers[layer_index]; }
234 void set_input_variables(const vector<Variable>& new_input_variables) { input_variables = new_input_variables; }
235 void set_output_variables(const vector<Variable>& new_output_variables) { output_variables = new_output_variables; }
Definition json.h:75
Definition json.h:92
Definition layer.h:38
virtual vector< TensorSpec > get_state_specs() const
virtual vector< TensorSpec > get_parameter_specs() const
virtual vector< TensorSpec > get_backward_specs(Index batch_size) const
Definition layer.h:80
virtual vector< TensorSpec > get_forward_specs(Index batch_size) const
Definition layer.h:76
Definition network.h:87
Index get_parameters_number() const
void copy_states_device()
Index get_layers_number(LayerType) const
vector< vector< TensorSpec > > get_state_specs() const
Definition network.h:147
bool low_precision_storage_ready() const noexcept
Definition network.h:292
vector< string > get_output_feature_names() const
Definition network.h:218
void steal_from(Network &src)
DeviceResidency get_device_residency() const noexcept
void clear()
void set_attention_and_dense_dropout(float, initializer_list< string_view > dense_prefixes)
vector< vector< pair< size_t, size_t > > > get_consumer_edges() const
const EffectiveConfig & get_config() const noexcept
Definition network.h:124
MatrixR calculate_text_outputs(const Tensor< string, 1 > &)
const Layer * get_first(const string &) const
void calculate_outputs(const vector< TensorView > &, MatrixR &outputs)
void release_bf16_fp32_parameter_master_for_inference()
const TokenizerOperator * get_tokenizer(const string &label="tokenizer") const
void cast_parameters_to_bf16()
Index get_parameters_buffer_size() const noexcept
Definition network.h:208
MatrixR calculate_outputs(const Tensor3 &)
void copy_parameters_device()
Index get_layer_index(const string &) const
const unique_ptr< Layer > & get_layer(const Index layer_index) const
Definition network.h:221
Shape get_input_shape() const
vector< vector< TensorSpec > > get_forward_specs(Index batch_size) const
Definition network.h:152
void load(const filesystem::path &)
void copy_parameters_host()
MatrixR calculate_outputs(const MatrixR &)
const vector< Variable > & get_input_variables() const noexcept
Definition network.h:214
void calculate_outputs(const Tensor3 &, MatrixR &outputs)
bool has(LayerType) const
const vector< string > & get_vocabulary(const string &label="tokenizer") const
void upload_parameters_int8_inference()
void set_parameters(const VectorR &)
void set_vocabulary(const vector< string > &, const string &label="tokenizer")
Index get_last_trainable_layer_index() const
bool fp32_master_released() const noexcept
Definition network.h:284
void set_attention_sdpa_min_sequence_length(Index)
void save_states_binary(const filesystem::path &) const
vector< vector< TensorSpec > > get_parameter_specs() const
Definition network.h:142
bool get_training_activation_recomputation() const noexcept
Definition network.h:135
vector< string > get_layer_labels() const
void load_parameters_bf16_inference_binary(const filesystem::path &)
uint64_t get_parameters_version() const noexcept
Definition network.h:193
void set_tokenizer(unique_ptr< TokenizerOperator >, const string &label="tokenizer")
void load_states_binary(const filesystem::path &)
void save_parameters_binary(const filesystem::path &) const
ParameterStorage get_parameter_storage() const noexcept
Definition network.h:277
const PrecisionPlan & get_precision() const noexcept
Definition network.h:128
void set_input_shape(const Shape &)
Layer * get_first(LayerType)
const vector< Variable > & get_output_variables() const noexcept
Definition network.h:217
void copy_states_host()
void save(const filesystem::path &) const
void configure_layers(const function< void(Layer &)> &)
void load_parameters_binary(const filesystem::path &)
const unique_ptr< Layer > & get_layer(const string &) const
bfloat16 * get_parameters_bf16_mirror_data()
Definition network.h:370
void calculate_outputs(const Tensor3 &, const Tensor3 &, Tensor3 &outputs)
void to_JSON(JsonWriter &) const
void link_gradients(span< const TensorView > layer_gradients) const
void forward_propagate(const vector< TensorView > &, ForwardPropagation &, ForwardPropagationMode, Index, Index) const
Index get_first_trainable_layer_index() const
Index add_layer(unique_ptr< Layer >, const vector< Index > &={})
void calculate_outputs(const Tensor4 &, MatrixR &outputs)
Layer * get_first(const string &)
void compile(Device device)
Type get_activation_type() const noexcept
Definition network.h:129
vector< string > get_input_feature_names() const
Definition network.h:215
void link_parameters()
Index get_layers_number(const string &) const
void forward_propagate(const vector< TensorView > &, ForwardPropagation &, ForwardPropagationMode=ForwardPropagationMode::Inference) const
bool has_recurrent_layers() const
void link_states()
void set_output_variables(const vector< Variable > &new_output_variables)
Definition network.h:235
Tensor3 calculate_outputs(const Tensor3 &, const Tensor3 &)
const vector< vector< Index > > & get_source_layers() const noexcept
Definition network.h:226
void calculate_outputs(const MatrixR &, MatrixR &outputs)
Shape get_output_shape() const
@ DeviceMasterWithMirror
Definition network.h:273
vector< vector< TensorSpec > > get_backward_specs(Index batch_size) const
Definition network.h:159
MatrixR calculate_outputs(const vector< TensorView > &)
const Layer * get_first(LayerType) const
void set_attention_sdpa_auto(bool)
ConstVectorMap get_parameters_map() const &
Definition network.h:204
Index get_states_buffer_size() const noexcept
Definition network.h:212
void forward_propagate(const vector< TensorView > &, const VectorR &, ForwardPropagation &)
TensorView calculate_outputs_resident(const vector< TensorView > &, ForwardPropagation &, bool upload_parameters=true)
void from_JSON(const JsonDocument &)
bool has(const string &) const
void set_input_variables(const vector< Variable > &new_input_variables)
Definition network.h:234
virtual ~Network()=default
Device get_parameters_device() const noexcept
Definition network.h:209
void upload_parameters_bf16_inference()
Network(NetworkTask)
MatrixR calculate_outputs(const Tensor4 &)
void link_gradients(const Buffer &) const
void finalize_build()
bool training_activation_recomputation
Definition network.h:437
ActivationFunction get_output_activation() const
Network(const filesystem::path &)
void set_states(const VectorR &)
void set_training_activation_recomputation(bool enabled) noexcept
Definition network.h:131
void set_input_names(const vector< string > &)
void mark_parameters_changed() noexcept
Definition network.h:195
Network()
Network(const filesystem::path &, NetworkTask)
void link_states(Device)
void compile_and_load_parameters_bf16_inference_binary(const filesystem::path &)
void compile()
const float * get_parameters_data() const
Definition network.h:198
void set_output_names(const vector< string > &)
void warn_if_stale_configuration() const
const vector< unique_ptr< Layer > > & get_layers() const noexcept
Definition network.h:220
Definition tokenizer_operator.h:35
Definition network.h:24
bool low_precision_ready(Type type) const noexcept
Definition network.h:36
@ DeviceMasterWithMirror
Definition network.h:26
Definition opennn_types.h:204
Definition energy_meter.h:7
Definition configuration.h:10
vector< string > get_variable_feature_names(const vector< Variable > &)
Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Layout > MatrixR
Definition opennn_types.h:331
Eigen::Map< const VectorR, Eigen::AlignedMax > ConstVectorMap
Definition opennn_types.h:340
Definition tensor_types.h:340
Definition configuration.h:58
Definition forward_propagation.h:52
Definition network.h:414
const void * parameter_master
Definition network.h:415
friend bool operator==(const DeviceResidency &, const DeviceResidency &)=default
~HostParametersGuard()
Definition network.h:99
HostParametersGuard(const HostParametersGuard &)=delete
HostParametersGuard & operator=(const HostParametersGuard &)=delete
HostParametersGuard(Network &n)
Definition network.h:93
Definition operator.h:28
virtual void set_parameters_pytorch()
Definition operator.h:91
Definition configuration.h:16
Definition tensor_types.h:172
Definition tensor_types.h:540