LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
execution_algorithms/factory.hpp File Reference
#include "lbann/execution_algorithms/training_algorithm.hpp"
#include "lbann/utils/factory.hpp"
#include "lbann/utils/factory_error_policies.hpp"
#include "lbann/utils/make_abstract.hpp"
#include <google/protobuf/message.h>
#include <memory>
#include <string>
Include dependency graph for execution_algorithms/factory.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 lbann
 

Typedefs

using lbann::TrainingAlgorithmFactory = generic_factory< TrainingAlgorithm, std::string, generate_builder_type< TrainingAlgorithm, google::protobuf::Message const & > >
 Factory for constructing training algorithms from protobuf messages. More...
 
using lbann::TrainingAlgorithmBuilder = typename TrainingAlgorithmFactory::builder_type
 The builder type used to create a new training algorithm. More...
 
using lbann::TrainingAlgorithmKey = typename TrainingAlgorithmFactory::id_type
 The trainining algorithm factory key. More...
 

Functions

void lbann::register_new_training_algorithm (TrainingAlgorithmKey key, TrainingAlgorithmBuilder builder)
 Register a new training algorithm with the default factory. More...
 
template<>
std::unique_ptr< lbann::TrainingAlgorithmlbann::make_abstract< lbann::TrainingAlgorithm > (google::protobuf::Message const &params)
 Create a new training_algorithm instance. More...
 

Function Documentation

◆ lbann::make_abstract< lbann::TrainingAlgorithm >()

template<>
std::unique_ptr<lbann::TrainingAlgorithm> lbann::make_abstract< lbann::TrainingAlgorithm > ( google::protobuf::Message const &  params)

Create a new training_algorithm instance.

Parameters
[in]paramsA protobuf message describing the algorithm.
Returns
A newly-constructed training algorithm.