|
LBANN
0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
|
Hyperparameter exploration with dropouts. More...
#include <perturb_dropout.hpp>
Public Member Functions | |
| perturb_dropout (EvalType keep_prob_factor, std::set< std::string > layer_names=std::set< std::string >()) | |
| perturb_dropout * | copy () const override |
| std::string | name () const override |
| Return this callback's name. More... | |
| void | setup (model *m) override |
| Called once to set up the callback on the model (after all layers are set up). 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 | 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_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 |
| perturb_dropout () | |
| template<typename TensorDataType , data_layout T_layout, El::Device Dev> | |
| dropout< TensorDataType, T_layout, Dev > * | get_dropout_layer (Layer *l) |
| void | perturb (model &m) |
Private Attributes | |
| EvalType | m_keep_prob_factor |
| std::set< std::string > | m_layer_names |
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... | |
Hyperparameter exploration with dropouts.
Goes through the dropout layers in a model and perturbs keep probability
Definition at line 41 of file perturb_dropout.hpp.
| lbann::callback::perturb_dropout::perturb_dropout | ( | EvalType | keep_prob_factor, |
| std::set< std::string > | layer_names = std::set< std::string >() |
||
| ) |
| keep_prob_factor | Standard deviation of learning rate perturbation (in log space). |
| layer_names | Names of layers with dropout keep prob to perturb. If empty, all dropout layers in the model are perturbed. |
|
private |
|
inlineoverridevirtual |
Implements lbann::callback_base.
Definition at line 52 of file perturb_dropout.hpp.
|
private |
|
inlineoverridevirtual |
Return this callback's name.
Implements lbann::callback_base.
Definition at line 53 of file perturb_dropout.hpp.
|
private |
Perturb dropout keep prob in model.
| void lbann::callback::perturb_dropout::serialize | ( | Archive & | ar | ) |
Store state to archive for checkpoint and restart.
|
overridevirtual |
Called once to set up the callback on the model (after all layers are set up).
Reimplemented from lbann::callback_base.
|
finalprivatevirtual |
Add callback specific data to prototext
Implements lbann::callback_base.
|
friend |
Definition at line 70 of file perturb_dropout.hpp.
|
private |
Standard deviation of keep probability perturbation.
In log space.
Definition at line 77 of file perturb_dropout.hpp.
|
private |
Keep prob for these layers will be perturbed.
If empty, all dropout layers in the model will be perturbed.
Definition at line 83 of file perturb_dropout.hpp.