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

Dump weights to files. More...

#include <dump_weights.hpp>

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

Public Member Functions

 dump_weights (std::string dir, El::Int epoch_interval, std::unique_ptr< dump_weights_internal::FileFormat > file_format)
 Constructor. More...
 
 dump_weights (const dump_weights &)
 
dump_weightsoperator= (const dump_weights &)
 
dump_weightscopy () const override
 
void on_train_begin (model *m) override
 Called at the beginning of training. More...
 
void on_epoch_end (model *m) override
 Called immediate after the end of each epoch. More...
 
std::string name () const override
 Return this callback's name. More...
 
void set_target_dir (const std::string &dir)
 
const std::string & get_target_dir ()
 
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_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_batch_begin (model *m)
 Called at the beginning of a (mini-)batch. More...
 
virtual void on_batch_end (model *m)
 Called immediately after the end of a (mini-)batch. 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_begin (model *m, Layer *l)
 Called when a layer begins forward propagation. More...
 
virtual void on_forward_prop_end (model *m)
 Called when a model ends forward propagation. More...
 
virtual void on_forward_prop_end (model *m, Layer *l)
 Called when a layer 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_begin (model *m, Layer *l)
 Called when a layer begins backward propagation. More...
 
virtual void on_backward_prop_end (model *m)
 Called when a model ends backward propagation. More...
 
virtual void on_backward_prop_end (model *m, Layer *l)
 Called when a layer ends backward propagation. More...
 
virtual void on_optimize_begin (model *m)
 Called when a model begins optimization. More...
 
virtual void on_optimize_begin (model *m, weights *w)
 Called when weights begins optimization. More...
 
virtual void on_optimize_end (model *m)
 Called when a model ends optimization. More...
 
virtual void on_optimize_end (model *m, weights *w)
 Called when weights ends optimization. More...
 
virtual void on_batch_evaluate_begin (model *m)
 Called at the beginning of a (mini-)batch evaluation (validation / testing). More...
 
virtual void on_batch_evaluate_end (model *m)
 Called at the end of a (mini-)batch evaluation (validation / testing). 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_begin (model *m, Layer *l)
 Called when a layer 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...
 
virtual void on_evaluate_forward_prop_end (model *m, Layer *l)
 Called when a layer 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
 
 dump_weights ()
 
void do_dump_weights (const model &m, visitor_hook hook)
 Dump weights from learning layers. More...
 

Private Attributes

std::string m_directory
 Basename for writing files. More...
 
El::Int m_epoch_interval
 Interval at which to dump weights. More...
 
std::unique_ptr< dump_weights_internal::FileFormat > m_file_format
 Weight file format. More...
 

Friends

class cereal::access
 

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

Dump weights to files.

Saves all weights to files. This is meant to export the weights for debugging and analysis that isn't easily done in LBANN. It is not meant for checkpointing.

The "text" and "binary" formats are written using Elemental's ASCII and BINARY formats, respectively. The "distributed_binary" format is written by using Elemental's BINARY format independently on each process' local data.

Definition at line 56 of file dump_weights.hpp.

Constructor & Destructor Documentation

◆ dump_weights() [1/3]

lbann::callback::dump_weights::dump_weights ( std::string  dir,
El::Int  epoch_interval,
std::unique_ptr< dump_weights_internal::FileFormat >  file_format 
)

Constructor.

Parameters
dirDirectory in which weight files will be saved.
epoch_intervalThe number of epochs between weights.
file_formatThe output file format.

◆ dump_weights() [2/3]

lbann::callback::dump_weights::dump_weights ( const dump_weights )

◆ dump_weights() [3/3]

lbann::callback::dump_weights::dump_weights ( )
private

Member Function Documentation

◆ copy()

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

Implements lbann::callback_base.

Definition at line 69 of file dump_weights.hpp.

◆ do_dump_weights()

void lbann::callback::dump_weights::do_dump_weights ( const model m,
visitor_hook  hook 
)
private

Dump weights from learning layers.

◆ get_target_dir()

const std::string& lbann::callback::dump_weights::get_target_dir ( )
inline

Definition at line 74 of file dump_weights.hpp.

Here is the call graph for this function:

◆ name()

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

Return this callback's name.

Implements lbann::callback_base.

Definition at line 72 of file dump_weights.hpp.

◆ on_epoch_end()

void lbann::callback::dump_weights::on_epoch_end ( model m)
overridevirtual

Called immediate after the end of each epoch.

Reimplemented from lbann::callback_base.

◆ on_train_begin()

void lbann::callback::dump_weights::on_train_begin ( model m)
overridevirtual

Called at the beginning of training.

Reimplemented from lbann::callback_base.

◆ operator=()

dump_weights& lbann::callback::dump_weights::operator= ( const dump_weights )

◆ serialize()

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

Store state to archive for checkpoint and restart.

◆ set_target_dir()

void lbann::callback::dump_weights::set_target_dir ( const std::string &  dir)
inline

Definition at line 73 of file dump_weights.hpp.

◆ write_specific_proto()

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

Add callback specific data to prototext

Implements lbann::callback_base.

Friends And Related Function Documentation

◆ cereal::access

friend class cereal::access
friend

Definition at line 89 of file dump_weights.hpp.

Member Data Documentation

◆ m_directory

std::string lbann::callback::dump_weights::m_directory
private

Basename for writing files.

Definition at line 93 of file dump_weights.hpp.

◆ m_epoch_interval

El::Int lbann::callback::dump_weights::m_epoch_interval
private

Interval at which to dump weights.

Definition at line 95 of file dump_weights.hpp.

◆ m_file_format

std::unique_ptr<dump_weights_internal::FileFormat> lbann::callback::dump_weights::m_file_format
private

Weight file format.

Definition at line 97 of file dump_weights.hpp.


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