13     using WeightMatrix = Eigen::Matrix<real_t, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>;
 
   19         explicit NumpyInitializer(std::shared_ptr<const WeightMatrix> weights,  std::shared_ptr<const DenseRealVector> biases) :
 
   35         std::shared_ptr<const DenseRealVector> 
m_Biases;
 
   41         [[nodiscard]] std::unique_ptr<WeightsInitializer> 
make_initializer(
const std::shared_ptr<const GenericFeatureMatrix>& features) 
const override;
 
   49     std::shared_ptr<const WeightMatrix> weights,
 
   50     std::shared_ptr<const DenseRealVector> biases) :
 
   51     m_WeightMatrix(std::move(weights)), m_BiasVector(std::move(biases)) {
 
   59                                                                              std::optional<std::filesystem::path> bias_file) {
 
   61     spdlog::info(
"Loaded weight matrix from {}: {} x {}", weight_file.string(), weights->rows(), weights->cols());
 
   62     std::shared_ptr<const DenseRealVector> biases = 
nullptr;
 
   66     return std::make_shared<NumpyInitializationStrategy>(weights, biases);
 
NumpyInitializationStrategy(std::shared_ptr< const WeightMatrix >, std::shared_ptr< const DenseRealVector > biases)
std::shared_ptr< const WeightMatrix > m_WeightMatrix
std::shared_ptr< const DenseRealVector > m_BiasVector
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 WeightMatrix > m_PreTrainedWeights
std::shared_ptr< const DenseRealVector > m_Biases
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.
NumpyInitializer(std::shared_ptr< const WeightMatrix > weights, std::shared_ptr< const DenseRealVector > biases)
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.
constexpr T to_index() const
! Explicitly convert to an integer.
Eigen::Matrix< real_t, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > WeightMatrix
std::shared_ptr< WeightInitializationStrategy > 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.
types::DenseRowMajor< real_t > load_matrix_from_npy(std::istream &source)
Loads a matrix from a numpy array.