OpenNN
Open-source neural networks library
Loading...
Searching...
No Matches
opennn::BatchNorm Struct Reference

#include <operators.h>

Inheritance diagram for opennn::BatchNorm:
[legend]

Public Member Functions

bool active () const
 
void set (Index new_features, float new_momentum=0.1f)
 
vector< pair< Shape, Type > > parameter_specs () const override
 
vector< pair< Shape, Type > > state_specs () const override
 
void link_parameters (const vector< TensorView > &views) override
 
void link_gradients (const vector< TensorView > &views) override
 
void link_states (const vector< TensorView > &views) override
 
void set_parameters_random () override
 
void set_parameters_glorot () override
 
void init_defaults ()
 
void forward_propagate (ForwardPropagation &fp, size_t layer, bool is_training) noexcept override
 
void apply_inference (const TensorView &input, TensorView &output)
 
void apply_training (const TensorView &input, TensorView &mean, TensorView &inverse_variance, TensorView &output)
 
void apply_delta (const TensorView &input, const TensorView &mean, const TensorView &inverse_variance, TensorView &delta) const
 
void update_inference_cache ()
 
void invalidate_inference_cache ()
 
void to_JSON (JsonWriter &w) const override
 
void from_JSON (const Json *parent) override
 
void load_state_from_JSON (const Json *parent) override
 
- Public Member Functions inherited from opennn::Operator
virtual ~Operator ()=default
 
virtual void destroy_cuda ()
 

Public Attributes

Index features = 0
 
float momentum = 0.1f
 
TensorView gamma
 
TensorView beta
 
TensorView running_mean
 
TensorView running_variance
 
TensorView gamma_gradient
 
TensorView beta_gradient
 
- Public Attributes inherited from opennn::Operator
vector< size_t > input_slots
 
vector< size_t > output_slots
 

Member Function Documentation

◆ active()

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

◆ apply_delta()

void opennn::BatchNorm::apply_delta ( const TensorView & input,
const TensorView & mean,
const TensorView & inverse_variance,
TensorView & delta ) const

◆ apply_inference()

void opennn::BatchNorm::apply_inference ( const TensorView & input,
TensorView & output )

◆ apply_training()

void opennn::BatchNorm::apply_training ( const TensorView & input,
TensorView & mean,
TensorView & inverse_variance,
TensorView & output )

◆ forward_propagate()

void opennn::BatchNorm::forward_propagate ( ForwardPropagation & fp,
size_t layer,
bool is_training )
overridevirtualnoexcept

Reimplemented from opennn::Operator.

◆ from_JSON()

void opennn::BatchNorm::from_JSON ( const Json * parent)
overridevirtual

Reimplemented from opennn::Operator.

◆ init_defaults()

void opennn::BatchNorm::init_defaults ( )

◆ invalidate_inference_cache()

void opennn::BatchNorm::invalidate_inference_cache ( )
inline

◆ link_gradients()

void opennn::BatchNorm::link_gradients ( const vector< TensorView > & views)
overridevirtual

Reimplemented from opennn::Operator.

◆ link_parameters()

void opennn::BatchNorm::link_parameters ( const vector< TensorView > & views)
overridevirtual

Reimplemented from opennn::Operator.

◆ link_states()

void opennn::BatchNorm::link_states ( const vector< TensorView > & views)
overridevirtual

Reimplemented from opennn::Operator.

◆ load_state_from_JSON()

void opennn::BatchNorm::load_state_from_JSON ( const Json * parent)
overridevirtual

Reimplemented from opennn::Operator.

◆ parameter_specs()

vector< pair< Shape, Type > > opennn::BatchNorm::parameter_specs ( ) const
overridevirtual

Reimplemented from opennn::Operator.

◆ set()

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

◆ set_parameters_glorot()

void opennn::BatchNorm::set_parameters_glorot ( )
inlineoverridevirtual

Reimplemented from opennn::Operator.

◆ set_parameters_random()

void opennn::BatchNorm::set_parameters_random ( )
inlineoverridevirtual

Reimplemented from opennn::Operator.

◆ state_specs()

vector< pair< Shape, Type > > opennn::BatchNorm::state_specs ( ) const
overridevirtual

Reimplemented from opennn::Operator.

◆ to_JSON()

void opennn::BatchNorm::to_JSON ( JsonWriter & w) const
overridevirtual

Reimplemented from opennn::Operator.

◆ update_inference_cache()

void opennn::BatchNorm::update_inference_cache ( )

Member Data Documentation

◆ beta

TensorView opennn::BatchNorm::beta

◆ beta_gradient

TensorView opennn::BatchNorm::beta_gradient

◆ features

Index opennn::BatchNorm::features = 0

◆ gamma

TensorView opennn::BatchNorm::gamma

◆ gamma_gradient

TensorView opennn::BatchNorm::gamma_gradient

◆ momentum

float opennn::BatchNorm::momentum = 0.1f

◆ running_mean

TensorView opennn::BatchNorm::running_mean

◆ running_variance

TensorView opennn::BatchNorm::running_variance