16 #include <unordered_map> 39 uint32_t version { 0 };
41 std::weak_ptr< DMatrix >
ref;
56 std::unordered_map<DMatrix *, PredictionCacheEntry> container_;
57 void ClearExpiredEntries();
58 std::mutex cache_lock_;
93 decltype(container_)
const& Container();
113 generic_param_{generic_param} {}
121 virtual void Configure(
const std::vector<std::pair<std::string, std::string>>& cfg);
135 const gbm::GBTreeModel& model,
int tree_begin,
136 uint32_t
const ntree_limit = 0) = 0;
147 virtual void InplacePredict(dmlc::any
const &x,
const gbm::GBTreeModel &model,
149 uint32_t tree_begin = 0, uint32_t tree_end = 0)
const = 0;
163 std::vector<bst_float>* out_preds,
164 const gbm::GBTreeModel& model,
165 unsigned ntree_limit = 0) = 0;
181 virtual void PredictLeaf(
DMatrix* dmat, std::vector<bst_float>* out_preds,
182 const gbm::GBTreeModel& model,
183 unsigned ntree_limit = 0) = 0;
204 virtual void PredictContribution(
DMatrix* dmat,
205 std::vector<bst_float>* out_contribs,
206 const gbm::GBTreeModel& model,
207 unsigned ntree_limit = 0,
208 std::vector<bst_float>* tree_weights =
nullptr,
209 bool approximate =
false,
211 unsigned condition_feature = 0) = 0;
213 virtual void PredictInteractionContributions(
DMatrix* dmat,
214 std::vector<bst_float>* out_contribs,
215 const gbm::GBTreeModel& model,
216 unsigned ntree_limit = 0,
217 std::vector<bst_float>* tree_weights =
nullptr,
218 bool approximate =
false) = 0;
235 :
public dmlc::FunctionRegEntryBase<
236 PredictorReg, std::function<Predictor*(GenericParameter const*)>> {};
238 #define XGBOOST_REGISTER_PREDICTOR(UniqueId, Name) \ 239 static DMLC_ATTRIBUTE_UNUSED ::xgboost::PredictorReg& \ 240 __make_##PredictorReg##_##UniqueId##__ = \ 241 ::dmlc::Registry<::xgboost::PredictorReg>::Get()->__REGISTER__(Name)
Performs prediction on individual training instances or batches of instances for GBTree. Prediction functions all take a GBTreeModel and a DMatrix as input and output a vector of predictions. The predictor does not modify any state of the model itself.
Definition: predictor.h:104
The input data structure of xgboost.
Definition: generic_parameters.h:14
Internal data structured used by XGBoost during training. There are two ways to create a customized D...
Definition: data.h:451
Registry entry for predictor.
Definition: predictor.h:234
A device-and-host vector abstraction layer.
GenericParameter const * generic_param_
Definition: predictor.h:109
span class implementation, based on ISO++20 span<T>. The interface should be the same.
Definition: span.h:126
Predictor(GenericParameter const *generic_param)
Definition: predictor.h:112
std::weak_ptr< DMatrix > ref
Definition: predictor.h:41
HostDeviceVector< bst_float > predictions
Definition: predictor.h:37
Definition: predictor.h:55
namespace of xgboost
Definition: base.h:102
defines configuration macros of xgboost.
void Update(uint32_t v)
Definition: predictor.h:48
Element from a sparse vector.
Definition: data.h:167
Contains pointer to input matrix and associated cached predictions.
Definition: predictor.h:35