DiSMEC++
dismec::init Namespace Reference

Classes

class  ConstantInitializer
 
class  ConstantInitializationStrategy
 An initialization strategy that sets the weight vector to a given constant. More...
 
class  MeanOfFeaturesInitializer
 
class  MeanOfFeaturesStrategy
 
struct  TypeLookup
 
struct  TypeLookup< false >
 
struct  TypeLookup< true >
 
class  MultiPosMeanInitializer
 
class  MultiPosMeanStrategy
 
class  NumpyInitializer
 
class  NumpyInitializationStrategy
 
class  PreTrainedInitializer
 
class  PreTrainedInitializationStrategy
 
class  SubsetFeatureMeanInitializer
 
class  SubsetFeatureMeanStrategy
 
class  ZeroInitializer
 
class  ZeroInitializationStrategy
 
class  WeightsInitializer
 Base class for all weight initializers. More...
 
class  WeightInitializationStrategy
 Base class for all weight init strategies. More...
 

Functions

std::shared_ptr< WeightInitializationStrategycreate_zero_initializer ()
 Creates an initialization strategy that initializes all weight vectors to zero. More...
 
std::shared_ptr< WeightInitializationStrategycreate_constant_initializer (DenseRealVector vec)
 
std::shared_ptr< WeightInitializationStrategycreate_pretrained_initializer (std::shared_ptr< model::Model > model)
 Creates an initialization strategy that uses an already trained model to set the initial weights. More...
 
std::shared_ptr< WeightInitializationStrategycreate_numpy_initializer (const std::filesystem::path &weights, std::optional< std::filesystem::path > biases)
 Creates an initialization strategy that uses weights loaded from a npy file. More...
 
std::shared_ptr< WeightInitializationStrategycreate_feature_mean_initializer (std::shared_ptr< DatasetBase > data, real_t pos=1, real_t neg=-2)
 Creates an initialization strategy based on the mean of positive and negative features. More...
 
std::shared_ptr< WeightInitializationStrategycreate_multi_pos_mean_strategy (std::shared_ptr< DatasetBase > data, int max_pos, real_t pos=1, real_t neg=-2)
 Creates an initialization strategy based on the mean of positive and negative features. More...
 
std::shared_ptr< WeightInitializationStrategycreate_ova_primal_initializer (const std::shared_ptr< DatasetBase > &data, RegularizerSpec regularizer, LossType loss)
 

Function Documentation

◆ create_constant_initializer()

std::shared_ptr< WeightInitializationStrategy > dismec::init::create_constant_initializer ( DenseRealVector  vec)

Creates an initialization strategy that initializes all weight vectors to the given vector. TODO allow both dense and sparse vectors.

Definition at line 56 of file constant.cpp.

Referenced by create_ova_primal_initializer(), TrainingProgram::make_config(), and register_init().

◆ create_feature_mean_initializer()

std::shared_ptr< WeightInitializationStrategy > dismec::init::create_feature_mean_initializer ( std::shared_ptr< DatasetBase data,
real_t  pos = 1,
real_t  neg = -2 
)

Creates an initialization strategy based on the mean of positive and negative features.

Definition at line 90 of file msi.cpp.

Referenced by TrainingProgram::make_config(), and register_init().

◆ create_multi_pos_mean_strategy()

std::shared_ptr< WeightInitializationStrategy > dismec::init::create_multi_pos_mean_strategy ( std::shared_ptr< DatasetBase data,
int  max_pos,
real_t  pos = 1,
real_t  neg = -2 
)

Creates an initialization strategy based on the mean of positive and negative features.

Definition at line 212 of file multi_pos.cpp.

Referenced by TrainingProgram::make_config(), and register_init().

◆ create_numpy_initializer()

std::shared_ptr< WeightInitializationStrategy > dismec::init::create_numpy_initializer ( const std::filesystem::path &  weights,
std::optional< std::filesystem::path >  biases 
)

Creates an initialization strategy that uses weights loaded from a npy file.

Definition at line 58 of file numpy.cpp.

References dismec::io::load_matrix_from_npy().

Referenced by TrainingProgram::make_config().

◆ create_ova_primal_initializer()

std::shared_ptr< WeightInitializationStrategy > dismec::init::create_ova_primal_initializer ( const std::shared_ptr< DatasetBase > &  data,
RegularizerSpec  regularizer,
LossType  loss 
)

Creates an initialization strategy based on

Huang Fang et al. “Fast training for large-scale one-versus-all linear classi- fiers using tree-structured initialization”. In: Proceedings of the 2019 SIAM International Conference on Data Mining.

Definition at line 15 of file ova-primal.cpp.

References create_constant_initializer(), dismec::objective::LinearClassifierBase::get_label_ref(), dismec::make_loss(), dismec::objective::make_regularizer(), and dismec::types::visit().

Referenced by TrainingProgram::make_config(), and register_init().

◆ create_pretrained_initializer()

std::shared_ptr< WeightInitializationStrategy > dismec::init::create_pretrained_initializer ( std::shared_ptr< model::Model model)

Creates an initialization strategy that uses an already trained model to set the initial weights.

Definition at line 48 of file pretrained.cpp.

◆ create_zero_initializer()

std::shared_ptr< WeightInitializationStrategy > dismec::init::create_zero_initializer ( )

Creates an initialization strategy that initializes all weight vectors to zero.

Definition at line 33 of file zero.cpp.

Referenced by dismec::create_cascade_training(), dismec::create_dismec_training(), and register_init().