LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
lbann::ltfb::SendRecvWeights Class Referencefinal

Exchange model weights directly using sendrecvs. More...

#include <random_pairwise_exchange.hpp>

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

Public Member Functions

 SendRecvWeights (std::set< std::string > const &weights_names, bool exchange_hyperparameters)
 Construct from weights names. More...
 
 SendRecvWeights (std::set< std::string > &&weights_names, bool exchange_hyperparameters)
 Construct from weights names. More...
 
 SendRecvWeights (SendRecvWeights const &)=default
 
 SendRecvWeights (SendRecvWeights &&)=default
 
std::unique_ptr< modelget_partner_model (model const &m, El::Int partner_trainer, size_t) final
 
- Public Member Functions inherited from lbann::Cloneable< SendRecvWeights, RandomPairwiseExchange::ExchangeStrategy >
std::unique_ptr< SendRecvWeights > clone () const
 Return an exception-safe, memory-safe copy of this object. More...
 

Private Types

using BaseType = Cloneable< SendRecvWeights, RandomPairwiseExchange::ExchangeStrategy >
 

Private Attributes

bool exchange_hyperparams_
 

Detailed Description

Exchange model weights directly using sendrecvs.

Todo:
More general approach to exchange optimizer state. Currently only SGD and Adam are supported.

Definition at line 221 of file random_pairwise_exchange.hpp.

Member Typedef Documentation

◆ BaseType

Constructor & Destructor Documentation

◆ SendRecvWeights() [1/4]

lbann::ltfb::SendRecvWeights::SendRecvWeights ( std::set< std::string > const &  weights_names,
bool  exchange_hyperparameters 
)

Construct from weights names.

Parameters
[in]weights_namesNames of weights to exchange. If empty, then all weights are exchanged.
[in]exchange_hyperparametersExchange optimizer hyperparameters.

◆ SendRecvWeights() [2/4]

lbann::ltfb::SendRecvWeights::SendRecvWeights ( std::set< std::string > &&  weights_names,
bool  exchange_hyperparameters 
)

Construct from weights names.

Parameters
[in]weights_namesNames of weights to exchange. If empty, then all weights are exchanged.
[in]exchange_hyperparametersExchange optimizer hyperparameters.

◆ SendRecvWeights() [3/4]

lbann::ltfb::SendRecvWeights::SendRecvWeights ( SendRecvWeights const &  )
default

◆ SendRecvWeights() [4/4]

lbann::ltfb::SendRecvWeights::SendRecvWeights ( SendRecvWeights &&  )
default

Member Function Documentation

◆ get_partner_model()

std::unique_ptr<model> lbann::ltfb::SendRecvWeights::get_partner_model ( model const &  m,
El::Int  partner_trainer,
size_t   
)
final

Member Data Documentation

◆ exchange_hyperparams_

bool lbann::ltfb::SendRecvWeights::exchange_hyperparams_
private

Definition at line 254 of file random_pairwise_exchange.hpp.


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