19 throw std::logic_error(
"pre trained model is <null>");
23 Eigen::Ref<DenseRealVector> target,
34 [[nodiscard]] std::unique_ptr<WeightsInitializer>
make_initializer(
const std::shared_ptr<const GenericFeatureMatrix>& features)
const override;
41 m_PreTrained(std::move(pre_trained)) {
45 return std::make_unique<PreTrainedInitializer>(
m_PreTrained);
49 return std::make_shared<PreTrainedInitializationStrategy>(std::move(model));
PreTrainedInitializationStrategy(std::shared_ptr< const model::Model > pre_trained)
std::shared_ptr< const model::Model > m_PreTrained
std::unique_ptr< WeightsInitializer > make_initializer(const std::shared_ptr< const GenericFeatureMatrix > &features) const override
Creats a new, thread local WeightsInitializer.
PreTrainedInitializer(std::shared_ptr< const model::Model > pre_trained)
std::shared_ptr< const model::Model > m_PreTrainedWeights
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.
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< WeightInitializationStrategy > create_pretrained_initializer(std::shared_ptr< model::Model > model)
Creates an initialization strategy that uses an already trained model to set the initial weights.