6 #include <dmlc/registry.h>
42 const std::vector<std::pair<std::string, std::string> >& args) = 0;
53 gbm::GBLinearModel* model,
double sum_instance_weight) = 0;
66 :
public dmlc::FunctionRegEntryBase<LinearUpdaterReg,
67 std::function<LinearUpdater*()> > {};
72 #define XGBOOST_REGISTER_LINEAR_UPDATER(UniqueId, Name) \
73 static DMLC_ATTRIBUTE_UNUSED ::xgboost::LinearUpdaterReg& \
74 __make_##LinearUpdaterReg##_##UniqueId##__ = \
75 ::dmlc::Registry< ::xgboost::LinearUpdaterReg>::Get()->__REGISTER__( \
Defines configuration macros and basic types for xgboost.
Internal data structured used by XGBoost to hold all external data.
Definition: data.h:577
interface of linear updater
Definition: linear_updater.h:30
Context const * ctx_
Definition: linear_updater.h:32
virtual void Update(linalg::Matrix< GradientPair > *in_gpair, DMatrix *data, gbm::GBLinearModel *model, double sum_instance_weight)=0
Updates linear model given gradients.
static LinearUpdater * Create(const std::string &name, Context const *)
Create a linear updater given name.
virtual void Configure(const std::vector< std::pair< std::string, std::string > > &args)=0
Initialize the updater with given arguments.
~LinearUpdater() override=default
virtual destructor
A tensor storage. To use it for other functionality like slicing one needs to obtain a view first....
Definition: linalg.h:760
The input data structure of xgboost.
A device-and-host vector abstraction layer.
Defines the abstract interface for different components in XGBoost.
Learner interface that integrates objective, gbm and evaluation together. This is the user facing XGB...
Definition: base.h:89
Runtime context for XGBoost. Contains information like threads and device.
Definition: context.h:142
Registry entry for linear updater.
Definition: linear_updater.h:67