|
LBANN
0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
|
Dump layer output tensors to files. More...
#include <dump_outputs.hpp>
Public Member Functions | |
| dump_outputs (std::set< std::string > layer_names, std::set< execution_mode > modes, El::Int batch_interval=0, std::string directory="", std::string file_format="") | |
| Construct a callback to dump outputs. More... | |
| dump_outputs * | copy () const override |
| std::string | name () const override |
| Return this callback's name. More... | |
| void | on_forward_prop_end (model *m, Layer *l) override |
| Called when a layer ends forward propagation. More... | |
| void | on_evaluate_forward_prop_end (model *m, Layer *l) override |
| Called when a layer ends forward propagation for evaluation (validation / testing). 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_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_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... | |
| 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_outputs () | |
| void | do_dump_outputs (const model &m, const Layer &l) |
| Dump outputs to file. More... | |
Private Attributes | |
| std::set< std::string > | m_layer_names |
| Names of layers with output dumps. More... | |
| std::set< execution_mode > | m_modes |
| Execution modes with output dumps. More... | |
| std::string | m_directory |
| Directory for output files. More... | |
| std::string | m_file_format |
| Output 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_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... | |
Dump layer output tensors to files.
Saves a file for each output tensor of each selected layer, computed at each mini-batch step. Output files have the form "<model>-<mode>-epoch<#>-step<#>-<layer>-output<#>.<format>". This is primarily intended as a debugging tool, although it can be used for inference when performance is not critical.
For NumPy file formats (npy and npz), tensor dimensions are recorded. For text file formats (CSV and TSV), each line contains flattened tensor data corresponding to one mini-batch sample (which is the transpose of the column-major matrix representation we use internally).
CNPY is required to export to NumPy file formats (npy and npz).
Definition at line 54 of file dump_outputs.hpp.
| lbann::callback::dump_outputs::dump_outputs | ( | std::set< std::string > | layer_names, |
| std::set< execution_mode > | modes, | ||
| El::Int | batch_interval = 0, |
||
| std::string | directory = "", |
||
| std::string | file_format = "" |
||
| ) |
Construct a callback to dump outputs.
| layer_names | Names of layers with output dumps (default: dump outputs for all layers). |
| modes | Execution modes with output dumps (default: dump outputs for all modes). |
| batch_interval | Frequency of output dumps (default: dump outputs at each mini-batch step). |
| directory | Directory for output files (default: current working directory). |
| file_format | Output file format. Options are csv, tsv, npy, npz (default: csv). |
|
private |
|
inlineoverridevirtual |
Implements lbann::callback_base.
Definition at line 76 of file dump_outputs.hpp.
Dump outputs to file.
Returns immediately if an output dump is not needed.
|
inlineoverridevirtual |
Return this callback's name.
Implements lbann::callback_base.
Definition at line 77 of file dump_outputs.hpp.
|
overridevirtual |
Called when a layer ends forward propagation for evaluation (validation / testing).
Reimplemented from lbann::callback_base.
|
inlineoverridevirtual |
Called when a layer ends forward propagation.
Reimplemented from lbann::callback_base.
Definition at line 79 of file dump_outputs.hpp.
| void lbann::callback::dump_outputs::serialize | ( | Archive & | ar | ) |
Store state to archive for checkpoint and restart.
|
finalprivatevirtual |
Add callback specific data to prototext
Implements lbann::callback_base.
|
friend |
Definition at line 98 of file dump_outputs.hpp.
|
private |
Directory for output files.
Pathname has trailing '/'.
Definition at line 114 of file dump_outputs.hpp.
|
private |
Output file format.
Definition at line 117 of file dump_outputs.hpp.
|
private |
Names of layers with output dumps.
If empty, outputs will be dumped for all layers.
Definition at line 104 of file dump_outputs.hpp.
|
private |
Execution modes with output dumps.
If empty, outputs will be dumped for all execution modes.
Definition at line 109 of file dump_outputs.hpp.