|
LBANN
0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
|
#include <timer.hpp>
Public Member Functions | |
| timer (const std::shared_ptr< lbann_summary > &summarizer=nullptr) | |
| timer (const timer &)=default | |
| timer & | operator= (const timer &)=default |
| timer * | copy () const override |
| void | on_epoch_begin (model *m) override |
| void | on_epoch_end (model *m) override |
| void | on_validation_begin (model *m) override |
| void | on_validation_end (model *m) override |
| void | on_test_begin (model *m) override |
| void | on_test_end (model *m) override |
| void | on_batch_begin (model *m) override |
| void | on_batch_end (model *m) override |
| void | on_batch_evaluate_begin (model *m) override |
| void | on_batch_evaluate_end (model *m) override |
| std::string | name () const override |
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_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_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 |
| void | timing_begin (const model &m) |
| void | timing_end (model &m) |
| void | batch_timing_begin (const model &m) |
| void | batch_timing_end (const model &m) |
Private Attributes | |
| std::map< execution_mode, EvalType > | m_start_times |
| std::map< execution_mode, EvalType > | m_batch_start_times |
| std::map< execution_mode, std::vector< EvalType > > | m_batch_times |
| std::shared_ptr< lbann_summary > | m_summarizer = nullptr |
| lbann_summary 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_base & | operator= (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... | |
Record and report model timing results. Reports the total time and mini-batch time statistics for training epochs and for model evaluations. This reports times for the master process in each model.
Definition at line 44 of file callbacks/timer.hpp.
|
inline |
Definition at line 47 of file callbacks/timer.hpp.
|
default |
|
private |
Start mini-batch timing session.
|
private |
End mini-batch timing session. Prints results to standard output.
|
inlineoverridevirtual |
Implements lbann::callback_base.
Definition at line 52 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Callback name.
Implements lbann::callback_base.
Definition at line 76 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Record training mini-batch start time.
Reimplemented from lbann::callback_base.
Definition at line 67 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Record training mini-batch run time.
Reimplemented from lbann::callback_base.
Definition at line 69 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Record evaluation mini-batch start time.
Reimplemented from lbann::callback_base.
Definition at line 71 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Record evaluation mini-batch run time.
Reimplemented from lbann::callback_base.
Definition at line 73 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Start timing for a training epoch.
Reimplemented from lbann::callback_base.
Definition at line 55 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Report timing for a training epoch.
Reimplemented from lbann::callback_base.
Definition at line 57 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Start timing for testing.
Reimplemented from lbann::callback_base.
Definition at line 63 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Report timing for testing.
Reimplemented from lbann::callback_base.
Definition at line 65 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Start timing for validation.
Reimplemented from lbann::callback_base.
Definition at line 59 of file callbacks/timer.hpp.
|
inlineoverridevirtual |
Report timing for validation.
Reimplemented from lbann::callback_base.
Definition at line 61 of file callbacks/timer.hpp.
| void lbann::callback::timer::serialize | ( | Archive & | ar | ) |
Store state to archive for checkpoint and restart.
|
private |
Start timing session.
|
private |
End timing session. Prints results to standard output.
|
finalprivatevirtual |
Add callback specific data to prototext
Implements lbann::callback_base.
|
private |
Mini-batch timing session start times.
Definition at line 94 of file callbacks/timer.hpp.
|
private |
Mini-batch times.
Definition at line 96 of file callbacks/timer.hpp.
|
private |
Timing session start times.
Definition at line 92 of file callbacks/timer.hpp.
|
private |
Definition at line 112 of file callbacks/timer.hpp.