26 #ifndef LBANN_EXECUTION_ALGORITHMS_LTFB_REGULARIZED_EVOLUTION_HPP_INCLUDED 27 #define LBANN_EXECUTION_ALGORITHMS_LTFB_REGULARIZED_EVOLUTION_HPP_INCLUDED 33 #include <google/protobuf/message.h> 38 #include <unordered_map> 52 :
public Cloneable<RegularizedEvolution, MetaLearningStrategy>
64 std::unique_ptr<MutationStrategy> mutate_algo,
111 std::unique_ptr<ltfb::RegularizedEvolution>
112 make(google::protobuf::Message
const&);
117 #endif // LBANN_EXECUTION_ALGORITHMS_LTFB_REGULARIZED_EVOLUTION_HPP_INCLUDED
Inject polymorphic clone functions into hierarchies.
RegularizedEvolution(std::string metric_name, metric_strategy winner_strategy, std::unique_ptr< MutationStrategy > mutate_algo, int sample_size)
EvalType evaluate_model(model &m, LTFBExecutionContext &ctxt, data_coordinator &dc) const
Get the value of the given metric from the model.
std::unique_ptr< MutationStrategy > m_mutate_algo
The strategy for mutation of a model.
int m_sample_size
The size of the sample to choose from the population in every step.
Abstract base class for neural network models.
std::unique_ptr< ltfb::RandomPairwiseExchange > make(google::protobuf::Message const &)
Concrete builder for RandomPairwiseExchange.
metric_strategy m_metric_strategy
Strategy to consider for evaluating the metric e.g., HIGHER_IS_BETTER or LOWER_IS_BETTER.
~RegularizedEvolution()=default
void select_next(model &m, ltfb::LTFBExecutionContext &ctxt, data_coordinator &dc) const final
std::string m_metric_name
Name of the metric for evaluation.