LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
lbann::callback::debug Class Reference

Phase specific "printf debugging". More...

#include <debug.hpp>

Inheritance diagram for lbann::callback::debug:
[legend]
Collaboration diagram for lbann::callback::debug:
[legend]

Public Member Functions

 debug (std::set< execution_mode > modes={})
 Constructor. More...
 
 debug (const debug &)=default
 
debugoperator= (const debug &)=default
 
debugcopy () const override
 
std::string name () const override
 Return this callback's name. More...
 
void on_batch_begin (model *m) override
 Print that a batch is beginning. More...
 
void on_batch_end (model *m) override
 Print that a batch is ending. More...
 
void on_batch_evaluate_begin (model *m) override
 Print that a layer's forward prop is beginning. More...
 
void on_batch_evaluate_end (model *m) override
 Print that a layer's forward prop is ending. More...
 
void on_forward_prop_begin (model *m, Layer *l) override
 Print that a layer's forward prop is beginning. More...
 
void on_forward_prop_end (model *m, Layer *l) override
 Print that a layer's forward prop is ending. More...
 
void on_backward_prop_begin (model *m, Layer *l) override
 Print that a layer's backward prop is beginning. More...
 
void on_backward_prop_end (model *m, Layer *l) override
 Print that a layer's backward prop is ending. More...
 
void on_evaluate_forward_prop_begin (model *m, Layer *l) override
 Print that a layer's backward prop is beginning. More...
 
void on_evaluate_forward_prop_end (model *m, Layer *l) override
 Print that a layer's backward prop is ending. More...
 
void on_optimize_begin (model *m, weights *w) override
 Print that a weights' optimization step is beginning. More...
 
void on_optimize_end (model *m, weights *w) override
 Print that a weights' optimization step is ending. More...
 
Serialization
template<class Archive >
void serialize (Archive &ar)
 Store state to archive for checkpoint and restart. More...
 
- Public Member Functions inherited from lbann::callback_base
 callback_base (int batch_interval=1)
 Initialize a callback with an optional batch interval. More...
 
 callback_base (const callback_base &)=default
 
virtual ~callback_base ()=default
 
virtual void setup (trainer *t)
 Called once to set up the callback on the trainer. More...
 
virtual void setup (model *m)
 Called once to set up the callback on the model (after all layers are set up). More...
 
virtual void on_setup_end (model *m)
 Called at the end of setup. More...
 
virtual void on_train_begin (model *m)
 Called at the beginning of training. More...
 
virtual void on_train_end (model *m)
 Called at the end of training. More...
 
virtual void on_phase_end (model *m)
 Called at the end of every phase (multiple epochs) in a layer-wise model training. More...
 
virtual void on_epoch_begin (model *m)
 Called at the beginning of each epoch. More...
 
virtual void on_epoch_end (model *m)
 Called immediate after the end of each epoch. More...
 
virtual void on_test_begin (model *m)
 Called at the beginning of testing. More...
 
virtual void on_test_end (model *m)
 Called immediately after the end of testing. More...
 
virtual void on_validation_begin (model *m)
 Called at the beginning of validation. More...
 
virtual void on_validation_end (model *m)
 Called immediately after the end of validation. More...
 
virtual void on_forward_prop_begin (model *m)
 Called when a model begins forward propagation. More...
 
virtual void on_forward_prop_end (model *m)
 Called when a model ends forward propagation. More...
 
virtual void on_backward_prop_begin (model *m)
 Called when a model begins backward propagation. More...
 
virtual void on_backward_prop_end (model *m)
 Called when a model ends backward propagation. More...
 
virtual void on_optimize_begin (model *m)
 Called when a model begins optimization. More...
 
virtual void on_optimize_end (model *m)
 Called when a model ends optimization. More...
 
virtual void on_evaluate_forward_prop_begin (model *m)
 Called when a model begins forward propagation for evaluation (validation / testing). More...
 
virtual void on_evaluate_forward_prop_end (model *m)
 Called when a model ends forward propagation for evaluation (validation / testing). More...
 
int get_batch_interval () const
 Return the batch interval. More...
 
virtual description get_description () const
 Human-readable description. More...
 
template<class Archive >
void serialize (Archive &ar)
 Store state to archive for checkpoint and restart. More...
 
void write_proto (lbann_data::Callback &proto) const
 Write a protobuf description of the callback. More...
 

Private Member Functions

void write_specific_proto (lbann_data::Callback &proto) const final
 

Private Attributes

std::set< execution_modem_modes
 Execution modes for which status updates will be printed. More...
 

Additional Inherited Members

- Protected Member Functions inherited from lbann::callback_base
std::string get_multi_trainer_path (const model &m, const std::string &root_dir)
 Build a standard directory hierarchy including trainer ID. More...
 
std::string get_multi_trainer_ec_model_path (const model &m, const std::string &root_dir)
 Build a standard directory hierachy including trainer, execution context, and model information (in that order). More...
 
std::string get_multi_trainer_model_path (const model &m, const std::string &root_dir)
 Build a standard directory hierachy including trainer, model information in that order. More...
 
callback_baseoperator= (const callback_base &)=default
 Copy-assignment operator. More...
 
- Protected Attributes inherited from lbann::callback_base
int m_batch_interval
 Batch methods should once every this many steps. More...
 

Detailed Description

Phase specific "printf debugging".

Print verbose status updates to standard error stream. This callback is useful for "printf debugging."

Takes a prototext parameter phase: train | validate | test | <empty> if <empty> will print messages for all phases

Definition at line 47 of file debug.hpp.

Constructor & Destructor Documentation

◆ debug() [1/2]

lbann::callback::debug::debug ( std::set< execution_mode modes = {})
inline

Constructor.

If modes is empty, status updates will be printed for all execution modes.

Definition at line 55 of file debug.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ debug() [2/2]

lbann::callback::debug::debug ( const debug )
default

Member Function Documentation

◆ copy()

debug* lbann::callback::debug::copy ( ) const
inlineoverridevirtual

Implements lbann::callback_base.

Definition at line 58 of file debug.hpp.

Here is the call graph for this function:

◆ name()

std::string lbann::callback::debug::name ( ) const
inlineoverridevirtual

Return this callback's name.

Implements lbann::callback_base.

Definition at line 59 of file debug.hpp.

Here is the call graph for this function:

◆ on_backward_prop_begin()

void lbann::callback::debug::on_backward_prop_begin ( model m,
Layer l 
)
overridevirtual

Print that a layer's backward prop is beginning.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_backward_prop_end()

void lbann::callback::debug::on_backward_prop_end ( model m,
Layer l 
)
overridevirtual

Print that a layer's backward prop is ending.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_batch_begin()

void lbann::callback::debug::on_batch_begin ( model m)
overridevirtual

Print that a batch is beginning.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_batch_end()

void lbann::callback::debug::on_batch_end ( model m)
overridevirtual

Print that a batch is ending.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_batch_evaluate_begin()

void lbann::callback::debug::on_batch_evaluate_begin ( model m)
overridevirtual

Print that a layer's forward prop is beginning.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_batch_evaluate_end()

void lbann::callback::debug::on_batch_evaluate_end ( model m)
overridevirtual

Print that a layer's forward prop is ending.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_evaluate_forward_prop_begin()

void lbann::callback::debug::on_evaluate_forward_prop_begin ( model m,
Layer l 
)
overridevirtual

Print that a layer's backward prop is beginning.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_evaluate_forward_prop_end()

void lbann::callback::debug::on_evaluate_forward_prop_end ( model m,
Layer l 
)
overridevirtual

Print that a layer's backward prop is ending.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_forward_prop_begin()

void lbann::callback::debug::on_forward_prop_begin ( model m,
Layer l 
)
overridevirtual

Print that a layer's forward prop is beginning.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_forward_prop_end()

void lbann::callback::debug::on_forward_prop_end ( model m,
Layer l 
)
overridevirtual

Print that a layer's forward prop is ending.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_optimize_begin()

void lbann::callback::debug::on_optimize_begin ( model m,
weights w 
)
overridevirtual

Print that a weights' optimization step is beginning.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ on_optimize_end()

void lbann::callback::debug::on_optimize_end ( model m,
weights w 
)
overridevirtual

Print that a weights' optimization step is ending.

Reimplemented from lbann::callback_base.

Here is the caller graph for this function:

◆ operator=()

debug& lbann::callback::debug::operator= ( const debug )
default
Here is the caller graph for this function:

◆ serialize()

template<class Archive >
void lbann::callback::debug::serialize ( Archive &  ar)

Store state to archive for checkpoint and restart.

Here is the caller graph for this function:

◆ write_specific_proto()

void lbann::callback::debug::write_specific_proto ( lbann_data::Callback &  proto) const
finalprivatevirtual

Add callback specific data to prototext

Implements lbann::callback_base.

Here is the caller graph for this function:

Member Data Documentation

◆ m_modes

std::set<execution_mode> lbann::callback::debug::m_modes
private

Execution modes for which status updates will be printed.

If empty, status updates are printed for all execution modes.

Definition at line 112 of file debug.hpp.


The documentation for this class was generated from the following file: