27 #ifndef LBANN_PROTO_FACTORIES_HPP_INCLUDED 28 #define LBANN_PROTO_FACTORIES_HPP_INCLUDED 37 #include <google/protobuf/message.h> 45 class ObjectiveFunction;
60 class objective_function;
68 std::unique_ptr<trainer>
73 const lbann_data::Optimizer& proto_opt,
74 const lbann_data::Trainer& proto_trainer,
75 const lbann_data::Model& proto_model);
78 std::vector<OwningLayerPtr>
80 const lbann_data::Trainer& proto_trainer,
81 const lbann_data::Model& proto_model);
84 template <
typename TensorDataType, data_layout layout, El::Device Dev>
86 const lbann_data::Layer& proto_layer);
89 template <
typename InputT,
typename OutputT, El::Device D>
91 -> std::unique_ptr<Operator<InputT, OutputT, D>>;
94 std::unique_ptr<weights>
96 const lbann_data::Optimizer& proto_opt,
97 const lbann_data::Weights& proto_weights);
100 std::unique_ptr<callback_base>
104 std::unique_ptr<callback_base>
106 std::shared_ptr<lbann_summary>
const& summarizer);
113 const lbann_data::Model& m);
116 template <
typename T>
117 std::unique_ptr<optimizer>
121 std::unique_ptr<objective_function>
125 std::unique_ptr<transform::transform>
128 transform::transform_pipeline
134 #endif // LBANN_PROTO_FACTORIES_HPP_INCLUDED
std::unique_ptr< optimizer > construct_optimizer(const lbann_data::Optimizer &proto_opt)
transform::transform_pipeline construct_transform_pipeline(const lbann_data::Reader &data_reader)
std::unique_ptr< model > construct_model(lbann_comm *comm, const lbann_data::Optimizer &proto_opt, const lbann_data::Trainer &proto_trainer, const lbann_data::Model &proto_model)
auto construct_operator(const lbann_data::Operator &proto_operator) -> std::unique_ptr< Operator< InputT, OutputT, D >>
std::unique_ptr< weights > construct_weights(lbann_comm *comm, const lbann_data::Optimizer &proto_opt, const lbann_data::Weights &proto_weights)
std::vector< OwningLayerPtr > construct_layer_graph(lbann_comm *comm, const lbann_data::Trainer &proto_trainer, const lbann_data::Model &proto_model)
std::unique_ptr< objective_function > construct_objective_function(const lbann_data::ObjectiveFunction &proto_obj)
std::unique_ptr< trainer > construct_trainer(lbann_comm *comm, const lbann_data::Trainer &proto_trainer)
std::unique_ptr< transform::transform > construct_transform(const lbann_data::Transform &trans)
std::unique_ptr< Layer > construct_layer(lbann_comm *comm, const lbann_data::Layer &proto_layer)
std::unique_ptr< callback_base > construct_callback(const google::protobuf::Message &proto_cb, std::shared_ptr< lbann_summary > const &summarizer)
std::unique_ptr< lbann_summary > construct_summarizer(lbann_comm *comm, const lbann_data::Model &m)