16 throw std::logic_error(
"Initial vector is <null>");
38 [[nodiscard]] std::unique_ptr <WeightsInitializer>
39 make_initializer(
const std::shared_ptr<const GenericFeatureMatrix>& features)
const override;
52 const std::shared_ptr<const GenericFeatureMatrix>& features)
const {
57 return std::make_shared<ConstantInitializationStrategy>(std::move(vec));
An initialization strategy that sets the weight vector to a given constant.
ConstantInitializationStrategy(DenseRealVector vec)
parallel::NUMAReplicator< DenseRealVector > m_InitVector
std::unique_ptr< WeightsInitializer > make_initializer(const std::shared_ptr< const GenericFeatureMatrix > &features) const override
Creats a new, thread local WeightsInitializer.
std::shared_ptr< const DenseRealVector > m_InitVector
void get_initial_weight(label_id_t label_id, Eigen::Ref< DenseRealVector > target, objective::Objective &objective) override
Generate an initial vector for the given label. The result should be placed in target.
ConstantInitializer(std::shared_ptr< const DenseRealVector > vec)
Base class for all weight init strategies.
Base class for all weight initializers.
Strong typedef for an int to signify a label id.
Class that models an optimization objective.
std::shared_ptr< const T > get_local() const
std::shared_ptr< WeightInitializationStrategy > create_constant_initializer(DenseRealVector vec)
types::DenseVector< real_t > DenseRealVector
Any dense, real values vector.