Loading...
Searching...
No Matches
opennn::CombinationOperator Struct Reference

#include <opennn/network/operators/combination_operator.h>

Inheritance diagram for opennn::CombinationOperator:
opennn::Operator opennn::MultiHeadProjectionOperator

Public Member Functions

void set (Index, Index, Type new_compute_dtype=Type::FP32)
 
vector< TensorSpec > parameter_specs () const override
 
vector< SlotQuantization > parameter_quantization () const override
 
vector< ParameterSlot > parameter_slots () override
 
void link_parameter_scales (span< const TensorView >) override
 
bool owns_initializable_weights () const noexcept
 
void set_parameters_random () override
 
void set_parameters_glorot () override
 
void set_parameters_pytorch () override
 
void forward_propagate (ForwardPropagation &, size_t, ForwardPropagationMode) override
 
void back_propagate (ForwardPropagation &, BackPropagation &, size_t) const override
 
- Public Member Functions inherited from opennn::Operator
virtual ~Operator ()=default
 
virtual vector< TensorSpec > state_specs () const
 
virtual void link_parameters (span< const TensorView > views)
 
virtual void link_gradients (span< const TensorView > views)
 
virtual void link_states (span< const TensorView >)
 
bool link_slots (span< const TensorView > views, TensorView *ParameterSlot::*member)
 
virtual void initialize_states ()
 
virtual void set_weights_dtype (Type new_weights_dtype)
 
virtual void to_JSON (JsonWriter &) const
 
virtual void from_JSON (const Json *)
 
virtual void load_state_from_JSON (const Json *)
 
TensorView & get_input (ForwardPropagation &forward_propagation, size_t layer, size_t slot_index=0) const noexcept
 
vector< TensorView > & get_inputs (ForwardPropagation &forward_propagation, size_t layer) const noexcept
 
TensorView & get_output (ForwardPropagation &forward_propagation, size_t layer, size_t slot_index=0) const noexcept
 
TensorView & get_output_delta (BackPropagation &back_propagation, size_t layer, size_t slot_index=0) const noexcept
 
TensorView & get_input_delta (BackPropagation &back_propagation, size_t layer, size_t slot_index=0) const noexcept
 

Public Attributes

Index input_features = 0
 
Index output_features = 0
 
ActivationFunction fused_activation = ActivationFunction::Identity
 
bool use_bias = true
 
bool accumulate_input_delta = false
 
bool folds_input_delta_addend = false
 
bool tied_transposed = false
 
bool transposed_inference_preferred = false
 
bool transposed_inference_active = false
 
bool fuse_input_relu = false
 
Index input_relu_source_layer = -1
 
bool emit_relu_mask = false
 
bool relu_mask_fusion_disabled = false
 
optional< size_t > relu_mask_slot
 
const CombinationOperator * drelu_source = nullptr
 
Index drelu_source_layer = -1
 
TensorView weights
 
TensorView bias
 
TensorView weight_scale
 
TensorView weight_gradient
 
TensorView bias_gradient
 
- Public Attributes inherited from opennn::Operator
Type compute_dtype = Type::FP32
 
Type weights_dtype = Type::FP32
 
vector< size_t > input_slots = {0}
 
vector< size_t > output_slots = {1}
 
vector< size_t > input_delta_slots = {1}
 
vector< size_t > output_delta_slots = {0}
 

Member Function Documentation

◆ back_propagate()

void opennn::CombinationOperator::back_propagate ( ForwardPropagation & ,
BackPropagation & ,
size_t  ) const
overridevirtual

Reimplemented from opennn::Operator.

Reimplemented in opennn::MultiHeadProjectionOperator.

◆ forward_propagate()

void opennn::CombinationOperator::forward_propagate ( ForwardPropagation & ,
size_t ,
ForwardPropagationMode  )
overridevirtual

Reimplemented from opennn::Operator.

Reimplemented in opennn::MultiHeadProjectionOperator.

◆ link_parameter_scales()

void opennn::CombinationOperator::link_parameter_scales ( span< const TensorView > )
overridevirtual

Reimplemented from opennn::Operator.

◆ owns_initializable_weights()

bool opennn::CombinationOperator::owns_initializable_weights ( ) const
inlinenoexcept

◆ parameter_quantization()

vector< SlotQuantization > opennn::CombinationOperator::parameter_quantization ( ) const
overridevirtual

Reimplemented from opennn::Operator.

◆ parameter_slots()

vector< ParameterSlot > opennn::CombinationOperator::parameter_slots ( )
overridevirtual

Reimplemented from opennn::Operator.

◆ parameter_specs()

vector< TensorSpec > opennn::CombinationOperator::parameter_specs ( ) const
overridevirtual

Reimplemented from opennn::Operator.

◆ set()

void opennn::CombinationOperator::set ( Index ,
Index ,
Type new_compute_dtype = Type::FP32 )

◆ set_parameters_glorot()

void opennn::CombinationOperator::set_parameters_glorot ( )
overridevirtual

Reimplemented from opennn::Operator.

◆ set_parameters_pytorch()

void opennn::CombinationOperator::set_parameters_pytorch ( )
overridevirtual

Reimplemented from opennn::Operator.

◆ set_parameters_random()

void opennn::CombinationOperator::set_parameters_random ( )
overridevirtual

Reimplemented from opennn::Operator.

Member Data Documentation

◆ accumulate_input_delta

bool opennn::CombinationOperator::accumulate_input_delta = false

◆ bias

TensorView opennn::CombinationOperator::bias

◆ bias_gradient

TensorView opennn::CombinationOperator::bias_gradient

◆ drelu_source

const CombinationOperator* opennn::CombinationOperator::drelu_source = nullptr

◆ drelu_source_layer

Index opennn::CombinationOperator::drelu_source_layer = -1

◆ emit_relu_mask

bool opennn::CombinationOperator::emit_relu_mask = false

◆ folds_input_delta_addend

bool opennn::CombinationOperator::folds_input_delta_addend = false

◆ fuse_input_relu

bool opennn::CombinationOperator::fuse_input_relu = false

◆ fused_activation

ActivationFunction opennn::CombinationOperator::fused_activation = ActivationFunction::Identity

◆ input_features

Index opennn::CombinationOperator::input_features = 0

◆ input_relu_source_layer

Index opennn::CombinationOperator::input_relu_source_layer = -1

◆ output_features

Index opennn::CombinationOperator::output_features = 0

◆ relu_mask_fusion_disabled

bool opennn::CombinationOperator::relu_mask_fusion_disabled = false
mutable

◆ relu_mask_slot

optional<size_t> opennn::CombinationOperator::relu_mask_slot

◆ tied_transposed

bool opennn::CombinationOperator::tied_transposed = false

◆ transposed_inference_active

bool opennn::CombinationOperator::transposed_inference_active = false

◆ transposed_inference_preferred

bool opennn::CombinationOperator::transposed_inference_preferred = false

◆ use_bias

bool opennn::CombinationOperator::use_bias = true

◆ weight_gradient

TensorView opennn::CombinationOperator::weight_gradient

◆ weight_scale

TensorView opennn::CombinationOperator::weight_scale

◆ weights

TensorView opennn::CombinationOperator::weights