LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
lbann::proto Namespace Reference

Namespaces

 details
 

Classes

struct  DeviceToProtoDevice
 
struct  DeviceToProtoDevice< El::Device::CPU >
 
struct  TypeToProtoDataType
 
struct  TypeToProtoDataType< double >
 
struct  TypeToProtoDataType< El::Complex< double > >
 
struct  TypeToProtoDataType< El::Complex< float > >
 
struct  TypeToProtoDataType< float >
 

Typedefs

template<typename InT , typename OutT , El::Device D>
using OperatorFactory = generic_factory< Operator< InT, OutT, D >, std::string, generate_builder_type< Operator< InT, OutT, D >, lbann_data::Operator const & > >
 

Functions

constexpr lbann_data::DeviceAllocation resolve_default_device (lbann_data::DeviceAllocation in)
 
std::unique_ptr< trainerconstruct_trainer (lbann_comm *comm, const lbann_data::Trainer &proto_trainer)
 
std::unique_ptr< modelconstruct_model (lbann_comm *comm, const lbann_data::Optimizer &proto_opt, const lbann_data::Trainer &proto_trainer, const lbann_data::Model &proto_model)
 
std::vector< OwningLayerPtrconstruct_layer_graph (lbann_comm *comm, const lbann_data::Trainer &proto_trainer, const lbann_data::Model &proto_model)
 
template<typename TensorDataType , data_layout layout, El::Device Dev>
std::unique_ptr< Layerconstruct_layer (lbann_comm *comm, const lbann_data::Layer &proto_layer)
 
template<typename InputT , typename OutputT , El::Device D>
auto construct_operator (const lbann_data::Operator &proto_operator) -> std::unique_ptr< Operator< InputT, OutputT, D >>
 
std::unique_ptr< weightsconstruct_weights (lbann_comm *comm, const lbann_data::Optimizer &proto_opt, const lbann_data::Weights &proto_weights)
 
std::unique_ptr< callback_baseconstruct_callback (const google::protobuf::Message &proto_cb)
 
std::unique_ptr< callback_baseconstruct_callback (const google::protobuf::Message &proto_cb, std::shared_ptr< lbann_summary > const &summarizer)
 
std::unique_ptr< lbann_summaryconstruct_summarizer (lbann_comm *comm, const lbann_data::Model &m)
 
template<typename T >
std::unique_ptr< optimizerconstruct_optimizer (const lbann_data::Optimizer &proto_opt)
 
std::unique_ptr< objective_functionconstruct_objective_function (const lbann_data::ObjectiveFunction &proto_obj)
 
std::unique_ptr< transform::transformconstruct_transform (const lbann_data::Transform &trans)
 
transform::transform_pipeline construct_transform_pipeline (const lbann_data::Reader &data_reader)
 
template<typename InT , typename OutT , El::Device D>
OperatorFactory< InT, OutT, D > & get_operator_factory ()
 Access the global operator factory for these types. More...
 

Variables

template<typename T >
auto ProtoDataType = TypeToProtoDataType<T>::value
 
template<El::Device D>
constexpr auto ProtoDevice = DeviceToProtoDevice<D>::value
 

Typedef Documentation

◆ OperatorFactory

template<typename InT , typename OutT , El::Device D>
using lbann::proto::OperatorFactory = typedef generic_factory< Operator<InT, OutT, D>, std::string, generate_builder_type<Operator<InT, OutT, D>, lbann_data::Operator const&> >

Definition at line 42 of file operator_factory.hpp.

Function Documentation

◆ construct_callback() [1/2]

std::unique_ptr<callback_base> lbann::proto::construct_callback ( const google::protobuf::Message &  proto_cb)

Construct a callback specified with prototext.

◆ construct_callback() [2/2]

std::unique_ptr<callback_base> lbann::proto::construct_callback ( const google::protobuf::Message &  proto_cb,
std::shared_ptr< lbann_summary > const &  summarizer 
)

Construct a callback specified with prototext.

◆ construct_layer()

template<typename TensorDataType , data_layout layout, El::Device Dev>
std::unique_ptr<Layer> lbann::proto::construct_layer ( lbann_comm comm,
const lbann_data::Layer &  proto_layer 
)

Construct a layer specified with prototext.

◆ construct_layer_graph()

std::vector<OwningLayerPtr> lbann::proto::construct_layer_graph ( lbann_comm comm,
const lbann_data::Trainer &  proto_trainer,
const lbann_data::Model &  proto_model 
)

Construct a layer graph specified with a prototext.

◆ construct_model()

std::unique_ptr<model> lbann::proto::construct_model ( lbann_comm comm,
const lbann_data::Optimizer &  proto_opt,
const lbann_data::Trainer &  proto_trainer,
const lbann_data::Model &  proto_model 
)

Construct a model specified with a prototext.

◆ construct_objective_function()

std::unique_ptr<objective_function> lbann::proto::construct_objective_function ( const lbann_data::ObjectiveFunction &  proto_obj)

Construct an objective function specified with prototext.

◆ construct_operator()

template<typename InputT , typename OutputT , El::Device D>
auto lbann::proto::construct_operator ( const lbann_data::Operator &  proto_operator) -> std::unique_ptr<Operator<InputT, OutputT, D>>

Construct an operator specified with prototext.

Definition at line 150 of file operator_factory_impl.hpp.

Here is the call graph for this function:

◆ construct_optimizer()

template<typename T >
std::unique_ptr<optimizer> lbann::proto::construct_optimizer ( const lbann_data::Optimizer &  proto_opt)

Construct an optimizer specified with prototext.

◆ construct_summarizer()

std::unique_ptr<lbann_summary> lbann::proto::construct_summarizer ( lbann_comm comm,
const lbann_data::Model &  m 
)

Construct a summarizer specified with prototext. The summarizer is only constructed if the summarizer callback is enabled.

◆ construct_trainer()

std::unique_ptr<trainer> lbann::proto::construct_trainer ( lbann_comm comm,
const lbann_data::Trainer &  proto_trainer 
)

Construct a trainer specified with a prototext.

◆ construct_transform()

std::unique_ptr<transform::transform> lbann::proto::construct_transform ( const lbann_data::Transform &  trans)

Construct a transform given a prototext.

◆ construct_transform_pipeline()

transform::transform_pipeline lbann::proto::construct_transform_pipeline ( const lbann_data::Reader &  data_reader)

Construct a transform pipeline given a data reader prototext.

◆ construct_weights()

std::unique_ptr<weights> lbann::proto::construct_weights ( lbann_comm comm,
const lbann_data::Optimizer &  proto_opt,
const lbann_data::Weights &  proto_weights 
)

Construct weights specified with prototext.

◆ get_operator_factory()

template<typename InT , typename OutT , El::Device D>
OperatorFactory<InT, OutT, D>& lbann::proto::get_operator_factory ( )

Access the global operator factory for these types.

LBANN will include instantiations for the case that std::is_same_v<InT, OutT> and the data type is float, double, or the FP16 type that matches the selected device.

Here is the caller graph for this function:

◆ resolve_default_device()

constexpr lbann_data::DeviceAllocation lbann::proto::resolve_default_device ( lbann_data::DeviceAllocation  in)
inline

Definition at line 104 of file datatype_helpers.hpp.

Here is the caller graph for this function:

Variable Documentation

◆ ProtoDataType

template<typename T >
auto lbann::proto::ProtoDataType = TypeToProtoDataType<T>::value

Definition at line 81 of file datatype_helpers.hpp.

◆ ProtoDevice

template<El::Device D>
constexpr auto lbann::proto::ProtoDevice = DeviceToProtoDevice<D>::value

Definition at line 101 of file datatype_helpers.hpp.