xgboost
c_api.h
Go to the documentation of this file.
1 
7 #ifndef XGBOOST_C_API_H_
8 #define XGBOOST_C_API_H_
9 
10 #ifdef __cplusplus
11 #define XGB_EXTERN_C extern "C"
12 #include <cstddef>
13 #include <cstdio>
14 #include <cstdint>
15 #else
16 #define XGB_EXTERN_C
17 #include <stddef.h>
18 #include <stdio.h>
19 #include <stdint.h>
20 #endif // __cplusplus
21 
22 #if defined(_MSC_VER) || defined(_WIN32)
23 #define XGB_DLL XGB_EXTERN_C __declspec(dllexport)
24 #else
25 #define XGB_DLL XGB_EXTERN_C __attribute__ ((visibility ("default")))
26 #endif // defined(_MSC_VER) || defined(_WIN32)
27 
28 // manually define unsigned long
29 typedef uint64_t bst_ulong; // NOLINT(*)
30 
50 typedef void *DMatrixHandle; // NOLINT(*)
52 typedef void *BoosterHandle; // NOLINT(*)
53 
63 XGB_DLL void XGBoostVersion(int* major, int* minor, int* patch);
64 
72 XGB_DLL int XGBuildInfo(char const **out);
73 
84 XGB_DLL const char *XGBGetLastError();
85 
93 XGB_DLL int XGBRegisterLogCallback(void (*callback)(const char*));
94 
103 XGB_DLL int XGBSetGlobalConfig(char const *config);
104 
110 XGB_DLL int XGBGetGlobalConfig(char const **out_config);
111 
136 XGB_DLL int XGDMatrixCreateFromFile(const char *fname, int silent, DMatrixHandle *out);
137 
151 XGB_DLL int XGDMatrixCreateFromURI(char const *config, DMatrixHandle *out);
152 
153 
159 XGB_DLL int XGDMatrixCreateFromCSREx(const size_t *indptr, const unsigned *indices,
160  const float *data, size_t nindptr, size_t nelem,
161  size_t num_col, DMatrixHandle *out);
171 XGB_DLL int XGDMatrixCreateFromColumnar(char const *data, char const *config, DMatrixHandle *out);
172 
189 XGB_DLL int XGDMatrixCreateFromCSR(char const *indptr, char const *indices, char const *data,
190  bst_ulong ncol, char const *config, DMatrixHandle *out);
191 
202 XGB_DLL int XGDMatrixCreateFromDense(char const *data, char const *config, DMatrixHandle *out);
203 
217 XGB_DLL int XGDMatrixCreateFromCSC(char const *indptr, char const *indices, char const *data,
218  bst_ulong nrow, char const *config, DMatrixHandle *out);
219 
225 XGB_DLL int XGDMatrixCreateFromCSCEx(const size_t *col_ptr, const unsigned *indices,
226  const float *data, size_t nindptr, size_t nelem,
227  size_t num_row, DMatrixHandle *out);
228 
238 XGB_DLL int XGDMatrixCreateFromMat(const float *data,
239  bst_ulong nrow,
240  bst_ulong ncol,
241  float missing,
242  DMatrixHandle *out);
253 XGB_DLL int XGDMatrixCreateFromMat_omp(const float *data, // NOLINT
254  bst_ulong nrow, bst_ulong ncol,
255  float missing, DMatrixHandle *out,
256  int nthread);
268  const char ** feature_stypes,
269  bst_ulong nrow,
270  bst_ulong ncol,
271  DMatrixHandle* out,
272  int nthread);
273 
284 XGB_DLL int XGDMatrixCreateFromCudaColumnar(char const *data, char const *config,
285  DMatrixHandle *out);
286 
297 XGB_DLL int XGDMatrixCreateFromCudaArrayInterface(char const *data, char const *config,
298  DMatrixHandle *out);
299 
345 /* ==== First set of callback functions, used exclusively by JVM packages. ==== */
346 
348 typedef void *DataIterHandle; // NOLINT(*)
350 typedef void *DataHolderHandle; // NOLINT(*)
351 
352 
354 typedef struct { // NOLINT(*)
356  size_t size;
357  /* \brief number of columns in the minibatch. */
358  size_t columns;
360 #ifdef __APPLE__
361  /* Necessary as Java on MacOS defines jlong as long int
362  * and gcc defines int64_t as long long int. */
363  long* offset; // NOLINT(*)
364 #else
365  int64_t* offset; // NOLINT(*)
366 #endif // __APPLE__
368  float* label;
370  float* weight;
372  int* index;
374  float* value;
376 
382 XGB_EXTERN_C typedef int XGBCallbackSetData( // NOLINT(*)
383  DataHolderHandle handle, XGBoostBatchCSR batch);
384 
396 XGB_EXTERN_C typedef int XGBCallbackDataIterNext( // NOLINT(*)
397  DataIterHandle data_handle, XGBCallbackSetData *set_function,
398  DataHolderHandle set_function_handle);
399 
409  DataIterHandle data_handle,
410  XGBCallbackDataIterNext* callback,
411  const char* cache_info,
412  DMatrixHandle *out);
413 
427 
435 XGB_EXTERN_C typedef int XGDMatrixCallbackNext(DataIterHandle iter); // NOLINT(*)
436 
440 XGB_EXTERN_C typedef void DataIterResetCallback(DataIterHandle handle); // NOLINT(*)
441 
442 
468  char const *config, DMatrixHandle *out);
501  XGDMatrixCallbackNext *next, char const *config,
502  DMatrixHandle *out);
503 
510  DataIterResetCallback *reset,
511  XGDMatrixCallbackNext *next, float missing,
512  int nthread, int max_bin, DMatrixHandle *out);
513 
523 XGB_DLL int
525  const char *c_interface_str);
526 
535 XGB_DLL int XGProxyDMatrixSetDataColumnar(DMatrixHandle handle, char const *c_interface_str);
536 
547  const char *c_interface_str);
548 
559  char const *c_interface_str);
560 
572 XGB_DLL int XGProxyDMatrixSetDataCSR(DMatrixHandle handle, char const *indptr,
573  char const *indices, char const *data,
574  bst_ulong ncol);
575  // End of Streaming
577 
587  const int *idxset,
588  bst_ulong len,
589  DMatrixHandle *out);
600  const int *idxset,
601  bst_ulong len,
602  DMatrixHandle *out,
603  int allow_groups);
621  const char *fname, int silent);
622 
631  char const* field,
632  char const* c_interface_str);
633 
642 XGB_DLL int XGDMatrixSetFloatInfo(DMatrixHandle handle, const char *field, const float *array,
643  bst_ulong len);
649 XGB_DLL int XGDMatrixSetUIntInfo(DMatrixHandle handle, const char *field, const unsigned *array,
650  bst_ulong len);
651 
678 XGB_DLL int XGDMatrixSetStrFeatureInfo(DMatrixHandle handle, const char *field,
679  const char **features,
680  const bst_ulong size);
681 
717 XGB_DLL int XGDMatrixGetStrFeatureInfo(DMatrixHandle handle, const char *field,
718  bst_ulong *size,
719  const char ***out_features);
720 
726 XGB_DLL int XGDMatrixSetDenseInfo(DMatrixHandle handle, const char *field, void const *data,
727  bst_ulong size, int type);
728 
737 XGB_DLL int XGDMatrixGetFloatInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len,
738  const float **out_dptr);
752  const char *field,
753  bst_ulong* out_len,
754  const unsigned **out_dptr);
769 
779 
789 
810 XGB_DLL int XGDMatrixGetDataAsCSR(DMatrixHandle const handle, char const *config,
811  bst_ulong *out_indptr, unsigned *out_indices, float *out_data);
812 
828 XGB_DLL int XGDMatrixGetQuantileCut(DMatrixHandle const handle, char const *config,
829  char const **out_indptr, char const **out_data);
830  // End of DMatrix
832 
875 XGB_DLL int XGBoosterSlice(BoosterHandle handle, int begin_layer,
876  int end_layer, int step,
877  BoosterHandle *out);
878 
887 
896  const char *name,
897  const char *value);
929  float *hess, bst_ulong len);
930 
947  char const *grad, char const *hess);
948 
960  const char *evnames[], bst_ulong len, const char **out_result);
1001  DMatrixHandle dmat,
1002  int option_mask,
1003  unsigned ntree_limit,
1004  int training,
1005  bst_ulong *out_len,
1006  const float **out_result);
1007 
1067  char const *config, bst_ulong const **out_shape,
1068  bst_ulong *out_dim, float const **out_result);
1093 XGB_DLL int XGBoosterPredictFromDense(BoosterHandle handle, char const *values, char const *config,
1094  DMatrixHandle m, bst_ulong const **out_shape,
1095  bst_ulong *out_dim, const float **out_result);
1120 XGB_DLL int XGBoosterPredictFromColumnar(BoosterHandle handle, char const *array_interface,
1121  char const *c_json_config, DMatrixHandle m,
1122  bst_ulong const **out_shape, bst_ulong *out_dim,
1123  const float **out_result);
1124 
1148 XGB_DLL int XGBoosterPredictFromCSR(BoosterHandle handle, char const *indptr, char const *indices,
1149  char const *values, bst_ulong ncol, char const *config,
1150  DMatrixHandle m, bst_ulong const **out_shape,
1151  bst_ulong *out_dim, const float **out_result);
1152 
1172 XGB_DLL int XGBoosterPredictFromCudaArray(BoosterHandle handle, char const *values,
1173  char const *config, DMatrixHandle m,
1174  bst_ulong const **out_shape, bst_ulong *out_dim,
1175  const float **out_result);
1176 
1197  char const *config, DMatrixHandle m,
1198  bst_ulong const **out_shape, bst_ulong *out_dim,
1199  const float **out_result);
1200  // End of Prediction
1202 
1203 
1239  const char *fname);
1248  const char *fname);
1258  const void *buf,
1259  bst_ulong len);
1260 
1280 XGB_DLL int XGBoosterSaveModelToBuffer(BoosterHandle handle, char const *config, bst_ulong *out_len,
1281  char const **out_dptr);
1282 
1293  const char **out_dptr);
1304  const void *buf, bst_ulong len);
1305 
1319  char const **out_str);
1329 XGB_DLL int XGBoosterLoadJsonConfig(BoosterHandle handle, char const *config); // End of Serialization
1331 
1342  const char *fmap,
1343  int with_stats,
1344  bst_ulong *out_len,
1345  const char ***out_dump_array);
1346 
1358  const char *fmap,
1359  int with_stats,
1360  const char *format,
1361  bst_ulong *out_len,
1362  const char ***out_dump_array);
1363 
1376  int fnum,
1377  const char **fname,
1378  const char **ftype,
1379  int with_stats,
1380  bst_ulong *out_len,
1381  const char ***out_models);
1382 
1396  int fnum,
1397  const char **fname,
1398  const char **ftype,
1399  int with_stats,
1400  const char *format,
1401  bst_ulong *out_len,
1402  const char ***out_models);
1403 
1413  const char* key,
1414  const char** out,
1415  int *success);
1426  const char* key,
1427  const char* value);
1436  bst_ulong* out_len,
1437  const char*** out);
1438 
1454 XGB_DLL int XGBoosterSetStrFeatureInfo(BoosterHandle handle, const char *field,
1455  const char **features,
1456  const bst_ulong size);
1457 
1477 XGB_DLL int XGBoosterGetStrFeatureInfo(BoosterHandle handle, const char *field,
1478  bst_ulong *len,
1479  const char ***out_features);
1480 
1506 XGB_DLL int XGBoosterFeatureScore(BoosterHandle handle, const char *config,
1507  bst_ulong *out_n_features, char const ***out_features,
1508  bst_ulong *out_dim, bst_ulong const **out_shape,
1509  float const **out_scores); // End of Booster
1511 
1528 typedef void *TrackerHandle; /* NOLINT */
1529 
1554 XGB_DLL int XGTrackerCreate(char const *config, TrackerHandle *handle);
1555 
1565 XGB_DLL int XGTrackerWorkerArgs(TrackerHandle handle, char const **args);
1566 
1576 XGB_DLL int XGTrackerRun(TrackerHandle handle, char const *config);
1577 
1588 XGB_DLL int XGTrackerWaitFor(TrackerHandle handle, char const *config);
1589 
1600 
1641 XGB_DLL int XGCommunicatorInit(char const* config);
1642 
1651 
1658 
1665 
1672 
1682 XGB_DLL int XGCommunicatorPrint(char const *message);
1683 
1690 XGB_DLL int XGCommunicatorGetProcessorName(const char** name_str);
1691 
1706 XGB_DLL int XGCommunicatorBroadcast(void *send_receive_buffer, size_t size, int root);
1707 
1725 XGB_DLL int XGCommunicatorAllreduce(void *send_receive_buffer, size_t count, int data_type, int op);
1726  // End of Collective
1728 #endif // XGBOOST_C_API_H_
#define XGB_EXTERN_C
Definition: c_api.h:16
#define XGB_DLL
Definition: c_api.h:25
uint64_t bst_ulong
Definition: c_api.h:29
int XGBoosterBoostedRounds(BoosterHandle handle, int *out)
Get number of boosted rounds from gradient booster. When process_type is update, this number might dr...
int XGBoosterSetAttr(BoosterHandle handle, const char *key, const char *value)
Set or delete string attribute.
int XGBoosterFeatureScore(BoosterHandle handle, const char *config, bst_ulong *out_n_features, char const ***out_features, bst_ulong *out_dim, bst_ulong const **out_shape, float const **out_scores)
Calculate feature scores for tree models. When used on linear model, only the weight importance type ...
int XGBoosterGetNumFeature(BoosterHandle handle, bst_ulong *out)
get number of features
int XGBoosterFree(BoosterHandle handle)
free obj in handle
int XGBoosterGetAttr(BoosterHandle handle, const char *key, const char **out, int *success)
Get string attribute from Booster.
int XGBoosterSetStrFeatureInfo(BoosterHandle handle, const char *field, const char **features, const bst_ulong size)
Set string encoded feature info in Booster, similar to the feature info in DMatrix.
int XGBoosterSlice(BoosterHandle handle, int begin_layer, int end_layer, int step, BoosterHandle *out)
Slice a model using boosting index. The slice m:n indicates taking all trees that were fit during the...
int XGBoosterGetStrFeatureInfo(BoosterHandle handle, const char *field, bst_ulong *len, const char ***out_features)
Get string encoded feature info from Booster, similar to feature info in DMatrix.
int XGBoosterEvalOneIter(BoosterHandle handle, int iter, DMatrixHandle dmats[], const char *evnames[], bst_ulong len, const char **out_result)
get evaluation statistics for xgboost
int XGBoosterUpdateOneIter(BoosterHandle handle, int iter, DMatrixHandle dtrain)
update the model in one round using dtrain
int XGBoosterSetParam(BoosterHandle handle, const char *name, const char *value)
set parameters
int XGBoosterDumpModelWithFeatures(BoosterHandle handle, int fnum, const char **fname, const char **ftype, int with_stats, bst_ulong *out_len, const char ***out_models)
dump model, return array of strings representing model dump
int XGBoosterDumpModelEx(BoosterHandle handle, const char *fmap, int with_stats, const char *format, bst_ulong *out_len, const char ***out_dump_array)
dump model, return array of strings representing model dump
int XGBoosterGetAttrNames(BoosterHandle handle, bst_ulong *out_len, const char ***out)
Get the names of all attribute from Booster.
int XGBoosterBoostOneIter(BoosterHandle handle, DMatrixHandle dtrain, float *grad, float *hess, bst_ulong len)
int XGBoosterTrainOneIter(BoosterHandle handle, DMatrixHandle dtrain, int iter, char const *grad, char const *hess)
Update a model with gradient and Hessian. This is used for training with a custom objective function.
int XGBoosterCreate(const DMatrixHandle dmats[], bst_ulong len, BoosterHandle *out)
create xgboost learner
int XGBoosterDumpModel(BoosterHandle handle, const char *fmap, int with_stats, bst_ulong *out_len, const char ***out_dump_array)
dump model, return array of strings representing model dump
int XGBoosterDumpModelExWithFeatures(BoosterHandle handle, int fnum, const char **fname, const char **ftype, int with_stats, const char *format, bst_ulong *out_len, const char ***out_models)
dump model, return array of strings representing model dump
int XGTrackerRun(TrackerHandle handle, char const *config)
Start the tracker. The tracker runs in the background and this function returns once the tracker is s...
int XGCommunicatorAllreduce(void *send_receive_buffer, size_t count, int data_type, int op)
Perform in-place allreduce. This function is NOT thread-safe.
int XGTrackerWaitFor(TrackerHandle handle, char const *config)
Wait for the tracker to finish, should be called after XGTrackerRun(). This function will block until...
int XGCommunicatorGetWorldSize(void)
Get total number of processes.
int XGTrackerCreate(char const *config, TrackerHandle *handle)
Create a new tracker.
int XGCommunicatorBroadcast(void *send_receive_buffer, size_t size, int root)
Broadcast a memory region to all others from root. This function is NOT thread-safe.
int XGCommunicatorGetRank(void)
Get rank of current process.
int XGCommunicatorPrint(char const *message)
Print the message to the communicator.
int XGCommunicatorInit(char const *config)
Initialize the collective communicator.
void * TrackerHandle
Handle to tracker.
Definition: c_api.h:1528
int XGCommunicatorGetProcessorName(const char **name_str)
Get the name of the processor.
int XGCommunicatorFinalize(void)
Finalize the collective communicator.
int XGCommunicatorIsDistributed(void)
Get if the communicator is distributed.
int XGTrackerFree(TrackerHandle handle)
Free a tracker instance. This should be called after XGTrackerWaitFor(). If the tracker is not proper...
int XGTrackerWorkerArgs(TrackerHandle handle, char const **args)
Get the arguments needed for running workers. This should be called after XGTrackerRun().
int XGDMatrixDataSplitMode(DMatrixHandle handle, bst_ulong *out)
Get the data split mode from DMatrix.
int XGDMatrixSetUIntInfo(DMatrixHandle handle, const char *field, const unsigned *array, bst_ulong len)
int XGDMatrixSetStrFeatureInfo(DMatrixHandle handle, const char *field, const char **features, const bst_ulong size)
Set string encoded information of all features.
int XGDMatrixFree(DMatrixHandle handle)
free space in data matrix
int XGDMatrixSetInfoFromInterface(DMatrixHandle handle, char const *field, char const *c_interface_str)
Set content in array interface to a content in info.
int XGDMatrixCreateFromCudaColumnar(char const *data, char const *config, DMatrixHandle *out)
Create DMatrix from CUDA columnar format. (cuDF)
int XGDMatrixCreateFromDense(char const *data, char const *config, DMatrixHandle *out)
Create a matrix from dense array.
int XGDMatrixSaveBinary(DMatrixHandle handle, const char *fname, int silent)
load a data matrix into binary file
int XGDMatrixCreateFromCSREx(const size_t *indptr, const unsigned *indices, const float *data, size_t nindptr, size_t nelem, size_t num_col, DMatrixHandle *out)
create a matrix content from CSR format
int XGDMatrixSliceDMatrix(DMatrixHandle handle, const int *idxset, bst_ulong len, DMatrixHandle *out)
create a new dmatrix from sliced content of existing matrix
int XGDMatrixNumRow(DMatrixHandle handle, bst_ulong *out)
get number of rows.
int XGDMatrixSliceDMatrixEx(DMatrixHandle handle, const int *idxset, bst_ulong len, DMatrixHandle *out, int allow_groups)
create a new dmatrix from sliced content of existing matrix
int XGDMatrixCreateFromCSR(char const *indptr, char const *indices, char const *data, bst_ulong ncol, char const *config, DMatrixHandle *out)
Create a matrix from CSR matrix.
int XGDMatrixCreateFromFile(const char *fname, int silent, DMatrixHandle *out)
load a data matrix
int XGDMatrixCreateFromCudaArrayInterface(char const *data, char const *config, DMatrixHandle *out)
Create DMatrix from CUDA array.
int XGDMatrixNumNonMissing(DMatrixHandle handle, bst_ulong *out)
Get number of valid values from DMatrix.
int XGDMatrixGetDataAsCSR(DMatrixHandle const handle, char const *config, bst_ulong *out_indptr, unsigned *out_indices, float *out_data)
Get the predictors from DMatrix as CSR matrix for testing. If this is a quantized DMatrix,...
int XGDMatrixGetStrFeatureInfo(DMatrixHandle handle, const char *field, bst_ulong *size, const char ***out_features)
Get string encoded information of all features.
int XGDMatrixCreateFromMat_omp(const float *data, bst_ulong nrow, bst_ulong ncol, float missing, DMatrixHandle *out, int nthread)
create matrix content from dense matrix
int XGDMatrixGetUIntInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len, const unsigned **out_dptr)
get uint32 info vector from matrix
int XGDMatrixNumCol(DMatrixHandle handle, bst_ulong *out)
get number of columns
int XGDMatrixSetFloatInfo(DMatrixHandle handle, const char *field, const float *array, bst_ulong len)
set float vector to a content in info
int XGDMatrixGetQuantileCut(DMatrixHandle const handle, char const *config, char const **out_indptr, char const **out_data)
Export the quantile cuts used for training histogram-based models like hist and approx....
int XGDMatrixSetDenseInfo(DMatrixHandle handle, const char *field, void const *data, bst_ulong size, int type)
int XGDMatrixCreateFromColumnar(char const *data, char const *config, DMatrixHandle *out)
Create a DMatrix from columnar data. (table)
int XGDMatrixCreateFromDT(void **data, const char **feature_stypes, bst_ulong nrow, bst_ulong ncol, DMatrixHandle *out, int nthread)
create matrix content from python data table
int XGDMatrixCreateFromURI(char const *config, DMatrixHandle *out)
load a data matrix
int XGDMatrixCreateFromCSC(char const *indptr, char const *indices, char const *data, bst_ulong nrow, char const *config, DMatrixHandle *out)
Create a matrix from a CSC matrix.
int XGDMatrixCreateFromCSCEx(const size_t *col_ptr, const unsigned *indices, const float *data, size_t nindptr, size_t nelem, size_t num_row, DMatrixHandle *out)
create a matrix content from CSC format
int XGDMatrixCreateFromMat(const float *data, bst_ulong nrow, bst_ulong ncol, float missing, DMatrixHandle *out)
create matrix content from dense matrix
int XGDMatrixGetFloatInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len, const float **out_dptr)
get float info vector from matrix.
int XGBGetGlobalConfig(char const **out_config)
Get current global configuration (collection of parameters that apply globally).
void * BoosterHandle
handle to Booster
Definition: c_api.h:52
const char * XGBGetLastError()
get string message of the last error
int XGBSetGlobalConfig(char const *config)
Set global configuration (collection of parameters that apply globally). This function accepts the li...
int XGBuildInfo(char const **out)
Get compile information of shared library.
void * DMatrixHandle
handle to DMatrix
Definition: c_api.h:50
int XGBRegisterLogCallback(void(*callback)(const char *))
register callback function for LOG(INFO) messages – helpful messages that are not errors....
void XGBoostVersion(int *major, int *minor, int *patch)
Return the version of the XGBoost library being currently used.
int XGBoosterPredictFromDense(BoosterHandle handle, char const *values, char const *config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
Inplace prediction from CPU dense matrix.
int XGBoosterPredict(BoosterHandle handle, DMatrixHandle dmat, int option_mask, unsigned ntree_limit, int training, bst_ulong *out_len, const float **out_result)
make prediction based on dmat (deprecated, use XGBoosterPredictFromDMatrix instead)
int XGBoosterPredictFromCSR(BoosterHandle handle, char const *indptr, char const *indices, char const *values, bst_ulong ncol, char const *config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
Inplace prediction from CPU CSR matrix.
int XGBoosterPredictFromCudaArray(BoosterHandle handle, char const *values, char const *config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
Inplace prediction from CUDA Dense matrix (cupy in Python).
int XGBoosterPredictFromDMatrix(BoosterHandle handle, DMatrixHandle dmat, char const *config, bst_ulong const **out_shape, bst_ulong *out_dim, float const **out_result)
Make prediction from DMatrix, replacing XGBoosterPredict.
int XGBoosterPredictFromCudaColumnar(BoosterHandle handle, char const *values, char const *config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
Inplace prediction from CUDA dense dataframe (cuDF in Python).
int XGBoosterPredictFromColumnar(BoosterHandle handle, char const *array_interface, char const *c_json_config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
Inplace prediction from CPU columnar data. (Table)
int XGBoosterLoadModelFromBuffer(BoosterHandle handle, const void *buf, bst_ulong len)
load model from in memory buffer
int XGBoosterSaveModel(BoosterHandle handle, const char *fname)
Save model into existing file.
int XGBoosterLoadJsonConfig(BoosterHandle handle, char const *config)
Load XGBoost's internal configuration from a JSON document. Currently the support is experimental,...
int XGBoosterUnserializeFromBuffer(BoosterHandle handle, const void *buf, bst_ulong len)
Memory snapshot based serialization method. Loads the buffer returned from XGBoosterSerializeToBuffer...
int XGBoosterSaveModelToBuffer(BoosterHandle handle, char const *config, bst_ulong *out_len, char const **out_dptr)
Save model into raw bytes, return header of the array. User must copy the result out,...
int XGBoosterLoadModel(BoosterHandle handle, const char *fname)
Load model from existing file.
int XGBoosterSaveJsonConfig(BoosterHandle handle, bst_ulong *out_len, char const **out_str)
Save XGBoost's internal configuration into a JSON document. Currently the support is experimental,...
int XGBoosterSerializeToBuffer(BoosterHandle handle, bst_ulong *out_len, const char **out_dptr)
Memory snapshot based serialization method. Saves everything states into buffer.
void * DataHolderHandle
handle to a internal data holder.
Definition: c_api.h:350
int XGBCallbackDataIterNext(DataIterHandle data_handle, XGBCallbackSetData *set_function, DataHolderHandle set_function_handle)
The data reading callback function. The iterator will be able to give subset of batch in the data.
Definition: c_api.h:396
int XGProxyDMatrixSetDataCSR(DMatrixHandle handle, char const *indptr, char const *indices, char const *data, bst_ulong ncol)
Set data on a DMatrix proxy.
int XGBCallbackSetData(DataHolderHandle handle, XGBoostBatchCSR batch)
Callback to set the data to handle,.
Definition: c_api.h:382
int XGDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
Create an external memory DMatrix with data iterator.
int XGProxyDMatrixSetDataDense(DMatrixHandle handle, char const *c_interface_str)
Set data on a DMatrix proxy.
int XGDeviceQuantileDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, float missing, int nthread, int max_bin, DMatrixHandle *out)
Create a Device Quantile DMatrix with data iterator.
int XGProxyDMatrixCreate(DMatrixHandle *out)
Create a DMatrix proxy for setting data, can be free by XGDMatrixFree.
int XGDMatrixCallbackNext(DataIterHandle iter)
Callback function prototype for getting next batch of data.
Definition: c_api.h:435
void * DataIterHandle
handle to a external data iterator
Definition: c_api.h:348
int XGProxyDMatrixSetDataColumnar(DMatrixHandle handle, char const *c_interface_str)
Set columnar (table) data on a DMatrix proxy.
int XGQuantileDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterHandle ref, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
Create a Quantile DMatrix with data iterator.
int XGDMatrixCreateFromDataIter(DataIterHandle data_handle, XGBCallbackDataIterNext *callback, const char *cache_info, DMatrixHandle *out)
Create a DMatrix from a data iterator.
void DataIterResetCallback(DataIterHandle handle)
Callback function prototype for resetting external iterator.
Definition: c_api.h:440
int XGProxyDMatrixSetDataCudaColumnar(DMatrixHandle handle, const char *c_interface_str)
Set data on a DMatrix proxy.
int XGProxyDMatrixSetDataCudaArrayInterface(DMatrixHandle handle, const char *c_interface_str)
Set data on a DMatrix proxy.
Mini batch used in XGBoost Data Iteration.
Definition: c_api.h:354
int64_t * offset
row pointer to the rows in the data
Definition: c_api.h:365
int * index
feature index
Definition: c_api.h:372
float * value
feature values
Definition: c_api.h:374
size_t columns
Definition: c_api.h:358
float * weight
weight of each instance, can be NULL
Definition: c_api.h:370
size_t size
number of rows in the minibatch
Definition: c_api.h:356