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

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

Inheritance diagram for opennn::BatchNormalizationOperator:
opennn::Operator

Public Member Functions

bool active () const
 
void set_enabled (bool enabled, Index feature_count)
 
 BatchNormalizationOperator ()
 
 ~BatchNormalizationOperator () override
 
void set (Index, float new_momentum=0.1f)
 
vector< TensorSpec > parameter_specs () const override
 
vector< TensorSpec > state_specs () const override
 
vector< ParameterSlot > parameter_slots () override
 
void link_parameters (span< const TensorView >) override
 
void link_states (span< const TensorView >) override
 
void set_parameters_random () override
 
void set_parameters_glorot () override
 
void initialize_states () override
 
void init_defaults ()
 
void forward_propagate (ForwardPropagation &, size_t, ForwardPropagationMode) override
 
void back_propagate (ForwardPropagation &, BackPropagation &, size_t) const override
 
void to_JSON (JsonWriter &) const override
 
void from_JSON (const Json *) override
 
void load_state_from_JSON (const Json *) override
 
void invalidate_inference_cache ()
 
- Public Member Functions inherited from opennn::Operator
virtual ~Operator ()=default
 
virtual vector< SlotQuantization > parameter_quantization () const
 
virtual void link_gradients (span< const TensorView > views)
 
virtual void link_parameter_scales (span< const TensorView >)
 
bool link_slots (span< const TensorView > views, TensorView *ParameterSlot::*member)
 
virtual void set_weights_dtype (Type new_weights_dtype)
 
virtual void set_parameters_pytorch ()
 
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 features = 0
 
float momentum = 0.1f
 
bool fuse_relu = false
 
bool fuse_add = false
 
size_t residual_delta_slot = 0
 
TensorView gamma
 
TensorView beta
 
TensorView running_mean
 
TensorView running_variance
 
TensorView gamma_gradient
 
TensorView beta_gradient
 
unique_ptr< BatchNormalizationGraphCache > bn_graph_cache
 
- 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}
 

Constructor & Destructor Documentation

◆ BatchNormalizationOperator()

opennn::BatchNormalizationOperator::BatchNormalizationOperator ( )

◆ ~BatchNormalizationOperator()

opennn::BatchNormalizationOperator::~BatchNormalizationOperator ( )
override

Member Function Documentation

◆ active()

bool opennn::BatchNormalizationOperator::active ( ) const
inline

◆ back_propagate()

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

Reimplemented from opennn::Operator.

◆ forward_propagate()

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

Reimplemented from opennn::Operator.

◆ from_JSON()

void opennn::BatchNormalizationOperator::from_JSON ( const Json * )
overridevirtual

Reimplemented from opennn::Operator.

◆ init_defaults()

void opennn::BatchNormalizationOperator::init_defaults ( )

◆ initialize_states()

void opennn::BatchNormalizationOperator::initialize_states ( )
overridevirtual

Reimplemented from opennn::Operator.

◆ invalidate_inference_cache()

void opennn::BatchNormalizationOperator::invalidate_inference_cache ( )
inline

◆ link_parameters()

void opennn::BatchNormalizationOperator::link_parameters ( span< const TensorView > )
overridevirtual

Reimplemented from opennn::Operator.

◆ link_states()

void opennn::BatchNormalizationOperator::link_states ( span< const TensorView > )
overridevirtual

Reimplemented from opennn::Operator.

◆ load_state_from_JSON()

void opennn::BatchNormalizationOperator::load_state_from_JSON ( const Json * )
overridevirtual

Reimplemented from opennn::Operator.

◆ parameter_slots()

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

Reimplemented from opennn::Operator.

◆ parameter_specs()

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

Reimplemented from opennn::Operator.

◆ set()

void opennn::BatchNormalizationOperator::set ( Index ,
float new_momentum = 0.1f )

◆ set_enabled()

void opennn::BatchNormalizationOperator::set_enabled ( bool enabled,
Index feature_count )
inline

◆ set_parameters_glorot()

void opennn::BatchNormalizationOperator::set_parameters_glorot ( )
inlineoverridevirtual

Reimplemented from opennn::Operator.

◆ set_parameters_random()

void opennn::BatchNormalizationOperator::set_parameters_random ( )
inlineoverridevirtual

Reimplemented from opennn::Operator.

◆ state_specs()

vector< TensorSpec > opennn::BatchNormalizationOperator::state_specs ( ) const
inlineoverridevirtual

Reimplemented from opennn::Operator.

◆ to_JSON()

void opennn::BatchNormalizationOperator::to_JSON ( JsonWriter & ) const
overridevirtual

Reimplemented from opennn::Operator.

Member Data Documentation

◆ beta

TensorView opennn::BatchNormalizationOperator::beta

◆ beta_gradient

TensorView opennn::BatchNormalizationOperator::beta_gradient

◆ bn_graph_cache

unique_ptr<BatchNormalizationGraphCache> opennn::BatchNormalizationOperator::bn_graph_cache

◆ features

Index opennn::BatchNormalizationOperator::features = 0

◆ fuse_add

bool opennn::BatchNormalizationOperator::fuse_add = false

◆ fuse_relu

bool opennn::BatchNormalizationOperator::fuse_relu = false

◆ gamma

TensorView opennn::BatchNormalizationOperator::gamma

◆ gamma_gradient

TensorView opennn::BatchNormalizationOperator::gamma_gradient

◆ momentum

float opennn::BatchNormalizationOperator::momentum = 0.1f

◆ residual_delta_slot

size_t opennn::BatchNormalizationOperator::residual_delta_slot = 0

◆ running_mean

TensorView opennn::BatchNormalizationOperator::running_mean

◆ running_variance

TensorView opennn::BatchNormalizationOperator::running_variance