8 #include <dmlc/registry.h>  
 51  std::size_t 
static constexpr DefaultSize() { 
return 64; }
 
 55  std::shared_ptr<PredictionCacheEntry> 
Cache(std::shared_ptr<DMatrix> m, 
DeviceOrd device) {
 
 57  if (!device.
IsCPU()) {
 
 58  p_cache->predictions.SetDevice(device);
 
 96  const gbm::GBTreeModel& model) 
const;
 
 109  gbm::GBTreeModel 
const& model, 
bst_tree_t tree_begin,
 
 125  virtual bool InplacePredict(std::shared_ptr<DMatrix> p_fmat, 
const gbm::GBTreeModel& model,
 
 140  gbm::GBTreeModel 
const& model, 
bst_tree_t tree_end = 0) 
const = 0;
 
 158  gbm::GBTreeModel 
const& model, 
bst_tree_t tree_end = 0,
 
 159  std::vector<float> 
const* tree_weights = 
nullptr,
 
 160  bool approximate = 
false, 
int condition = 0,
 
 161  unsigned condition_feature = 0) 
const = 0;
 
 164  gbm::GBTreeModel 
const& model,
 
 166  std::vector<float> 
const* tree_weights = 
nullptr,
 
 167  bool approximate = 
false) 
const = 0;
 
 182  : 
public dmlc::FunctionRegEntryBase<PredictorReg, std::function<Predictor*(Context const*)>> {};
 
 184 #define XGBOOST_REGISTER_PREDICTOR(UniqueId, Name) \ 
 185  static DMLC_ATTRIBUTE_UNUSED ::xgboost::PredictorReg& \ 
 186  __make_##PredictorReg##_##UniqueId##__ = \ 
 187  ::dmlc::Registry<::xgboost::PredictorReg>::Get()->__REGISTER__(Name) 
DMatrix 相关数据的线程感知 FIFO 缓存。
定义: cache.h:26
std::shared_ptr< PredictionCacheEntry > CacheItem(std::shared_ptr< DMatrix > m, Args const &... args)
如果 DMatrix 不在缓存中,则缓存新的 DMatrix。
定义: cache.h:145
内部数据结构,由XGBoost用于保存所有外部数据。
Definition: data.h:573
用于管理预测缓存的容器。
定义: predictor.h:49
std::shared_ptr< PredictionCacheEntry > Cache(std::shared_ptr< DMatrix > m, DeviceOrd device)
定义: predictor.h:55
PredictionContainer()
定义: predictor.h:54
对 GBTree 的单个训练实例或实例批次执行预测。
定义: predictor.h:72
virtual void InitOutPredictions(const MetaInfo &info, HostDeviceVector< float > *out_predt, const gbm::GBTreeModel &model) const
初始化输出预测。
virtual void Configure(Args const &)
配置并在预测缓存中注册输入矩阵。
virtual bool InplacePredict(std::shared_ptr< DMatrix > p_fmat, const gbm::GBTreeModel &model, float missing, PredictionCacheEntry *out_preds, bst_tree_t tree_begin=0, bst_tree_t tree_end=0) const =0
原地预测。
Predictor(Context const *ctx)
定义: predictor.h:77
virtual void PredictContribution(DMatrix *dmat, HostDeviceVector< float > *out_contribs, gbm::GBTreeModel const &model, bst_tree_t tree_end=0, std::vector< float > const *tree_weights=nullptr, bool approximate=false, int condition=0, unsigned condition_feature=0) const =0
特征对单个预测的贡献;输出将是一个长度为 (nfeats + 1) 的向量,...
virtual void PredictBatch(DMatrix *dmat, PredictionCacheEntry *out_preds, gbm::GBTreeModel const &model, bst_tree_t tree_begin, bst_tree_t tree_end=0) const =0
为给定特征矩阵生成批量预测。如果可用,可以使用缓存的预测...
Context const * ctx_
定义: predictor.h:74
static Predictor * Create(std::string const &name, Context const *ctx)
创建一个新的 Predictor*。
virtual ~Predictor()=default
virtual void PredictLeaf(DMatrix *dmat, HostDeviceVector< float > *out_preds, gbm::GBTreeModel const &model, bst_tree_t tree_end=0) const =0
预测每棵树的叶子索引,输出将是 nsample * ntree 向量,这只在 ... 中有效
virtual void PredictInteractionContributions(DMatrix *dmat, HostDeviceVector< float > *out_contribs, gbm::GBTreeModel const &model, bst_tree_t tree_end=0, std::vector< float > const *tree_weights=nullptr, bool approximate=false) const =0
集成目标、gbm和评估的学习器接口。这是用户面临的XGB...
Definition: base.h:97
std::vector< std::pair< std::string, std::string > > Args
定义: base.h:324
std::int32_t bst_tree_t
用于索引树的类型。
定义: base.h:135
XGBoost的运行时上下文。包含线程和设备等信息。
Definition: context.h:133
设备序号的类型。该类型被打包成32位,以便在查看类型(如lin...)时高效使用
Definition: context.h:34
bool IsCPU() const
定义: context.h:45
包含指向输入矩阵和相关缓存预测的指针。
定义: predictor.h:30
std::uint32_t version
定义: predictor.h:34
HostDeviceVector< float > predictions
定义: predictor.h:32
void Reset()
定义: predictor.h:43
void Update(std::uint32_t v)
按版本数量更新缓存条目。
定义: predictor.h:42
PredictionCacheEntry()=default
预测器的注册表条目。
定义: predictor.h:182