LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
lbann::ltfb::MetaLearningStrategy Class Referenceabstract

Base class describing a family of meta-learning methods. More...

#include <meta_learning_strategy.hpp>

Inheritance diagram for lbann::ltfb::MetaLearningStrategy:
[legend]
Collaboration diagram for lbann::ltfb::MetaLearningStrategy:
[legend]

Public Member Functions

virtual ~MetaLearningStrategy () noexcept=default
 
virtual void select_next (model &m, ltfb::LTFBExecutionContext &ctxt, data_coordinator &dc) const =0
 Pick the next model according to this metaheuristic. More...
 
- Public Member Functions inherited from lbann::Cloneable< HasAbstractFunction< MetaLearningStrategy > >
std::unique_ptr< HasAbstractFunction< MetaLearningStrategy > > clone () const
 Return an exception-safe, memory-safe copy of this object. More...
 

Detailed Description

Base class describing a family of meta-learning methods.

The current use-case for this is the LTFB family of algorithms, in which this strategy is used in tandem with a "trainer-local" training algorithm. Specifically, in the case of LTFB, the meta-learning strategy is applied after the local training algorithm to combine and postprocess the output of multiple trainers.

Definition at line 54 of file meta_learning_strategy.hpp.

Constructor & Destructor Documentation

◆ ~MetaLearningStrategy()

virtual lbann::ltfb::MetaLearningStrategy::~MetaLearningStrategy ( )
virtualdefaultnoexcept

Member Function Documentation

◆ select_next()

virtual void lbann::ltfb::MetaLearningStrategy::select_next ( model m,
ltfb::LTFBExecutionContext ctxt,
data_coordinator dc 
) const
pure virtual

Pick the next model according to this metaheuristic.

The fundamental assumption here is that each trainer contributes one model to the metaheuristic evaluation – this model might be meaningful in some way, or the concrete implementation can choose to ignore it completely. It is further assumed that this model's lbann_comm object describes the entire multi-trainer ecosystem in which this algorithm is participating (which is why there's not a distinct lbann_comm argument).

Parameters
[in,out]mOn input, this trainer's candidate model. On output, the updated model, either to e returned from the training algorithm or to seed the next outer loop.
[in,out]ctxtThe execution context for the outer LTFB algorithm.
[in,out]dcThe data coordinator for this trainer.

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