Medial Code Documentation
Loading...
Searching...
No Matches
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
29typedef uint64_t bst_ulong; // NOLINT(*)
30
49typedef void *DMatrixHandle; // NOLINT(*)
51typedef void *BoosterHandle; // NOLINT(*)
52
62XGB_DLL void XGBoostVersion(int* major, int* minor, int* patch);
63
71XGB_DLL int XGBuildInfo(char const **out);
72
83XGB_DLL const char *XGBGetLastError();
84
92XGB_DLL int XGBRegisterLogCallback(void (*callback)(const char*));
93
102XGB_DLL int XGBSetGlobalConfig(char const *config);
103
109XGB_DLL int XGBGetGlobalConfig(char const **out_config);
110
135XGB_DLL int XGDMatrixCreateFromFile(const char *fname, int silent, DMatrixHandle *out);
136
152XGB_DLL int XGDMatrixCreateFromURI(char const *config, DMatrixHandle *out);
153
154
160XGB_DLL int XGDMatrixCreateFromCSREx(const size_t *indptr, const unsigned *indices,
161 const float *data, size_t nindptr, size_t nelem,
162 size_t num_col, DMatrixHandle *out);
163
179XGB_DLL int XGDMatrixCreateFromCSR(char const *indptr, char const *indices, char const *data,
180 bst_ulong ncol, char const *config, DMatrixHandle *out);
181
191XGB_DLL int XGDMatrixCreateFromDense(char const *data, char const *config, DMatrixHandle *out);
192
205XGB_DLL int XGDMatrixCreateFromCSC(char const *indptr, char const *indices, char const *data,
206 bst_ulong nrow, char const *config, DMatrixHandle *out);
207
213XGB_DLL int XGDMatrixCreateFromCSCEx(const size_t *col_ptr, const unsigned *indices,
214 const float *data, size_t nindptr, size_t nelem,
215 size_t num_row, DMatrixHandle *out);
216
226XGB_DLL int XGDMatrixCreateFromMat(const float *data,
227 bst_ulong nrow,
228 bst_ulong ncol,
229 float missing,
230 DMatrixHandle *out);
241XGB_DLL int XGDMatrixCreateFromMat_omp(const float *data, // NOLINT
242 bst_ulong nrow, bst_ulong ncol,
243 float missing, DMatrixHandle *out,
244 int nthread);
255XGB_DLL int XGDMatrixCreateFromDT(void** data,
256 const char ** feature_stypes,
257 bst_ulong nrow,
258 bst_ulong ncol,
259 DMatrixHandle* out,
260 int nthread);
261
271XGB_DLL int XGDMatrixCreateFromCudaColumnar(char const *data, char const *config,
272 DMatrixHandle *out);
273
283XGB_DLL int XGDMatrixCreateFromCudaArrayInterface(char const *data, char const *config,
284 DMatrixHandle *out);
285
331/* ==== First set of callback functions, used exclusively by JVM packages. ==== */
332
334typedef void *DataIterHandle; // NOLINT(*)
336typedef void *DataHolderHandle; // NOLINT(*)
337
338
340typedef struct { // NOLINT(*)
342 size_t size;
343 /* \brief number of columns in the minibatch. */
344 size_t columns;
346#ifdef __APPLE__
347 /* Necessary as Java on MacOS defines jlong as long int
348 * and gcc defines int64_t as long long int. */
349 long* offset; // NOLINT(*)
350#else
351 int64_t* offset; // NOLINT(*)
352#endif // __APPLE__
354 float* label;
356 float* weight;
358 int* index;
360 float* value;
362
368XGB_EXTERN_C typedef int XGBCallbackSetData( // NOLINT(*)
369 DataHolderHandle handle, XGBoostBatchCSR batch);
370
382XGB_EXTERN_C typedef int XGBCallbackDataIterNext( // NOLINT(*)
383 DataIterHandle data_handle, XGBCallbackSetData *set_function,
384 DataHolderHandle set_function_handle);
385
395 DataIterHandle data_handle,
396 XGBCallbackDataIterNext* callback,
397 const char* cache_info,
398 DMatrixHandle *out);
399
412XGB_DLL int XGProxyDMatrixCreate(DMatrixHandle* out);
413
421XGB_EXTERN_C typedef int XGDMatrixCallbackNext(DataIterHandle iter); // NOLINT(*)
422
426XGB_EXTERN_C typedef void DataIterResetCallback(DataIterHandle handle); // NOLINT(*)
427
428
454 char const *config, DMatrixHandle *out);
487 XGDMatrixCallbackNext *next, char const *config,
488 DMatrixHandle *out);
489
497 XGDMatrixCallbackNext *next, float missing,
498 int nthread, int max_bin, DMatrixHandle *out);
499
509XGB_DLL int
511 const char *c_interface_str);
512
523 const char *c_interface_str);
524
535 char const *c_interface_str);
536
548XGB_DLL int XGProxyDMatrixSetDataCSR(DMatrixHandle handle, char const *indptr,
549 char const *indices, char const *data,
550 bst_ulong ncol);
551
// End of Streaming
553
554XGB_DLL int XGImportArrowRecordBatch(DataIterHandle data_handle, void *ptr_array, void *ptr_schema);
555
569XGB_DLL int XGDMatrixCreateFromArrowCallback(XGDMatrixCallbackNext *next, char const *config,
570 DMatrixHandle *out);
571
580XGB_DLL int XGDMatrixSliceDMatrix(DMatrixHandle handle,
581 const int *idxset,
582 bst_ulong len,
583 DMatrixHandle *out);
593XGB_DLL int XGDMatrixSliceDMatrixEx(DMatrixHandle handle,
594 const int *idxset,
595 bst_ulong len,
596 DMatrixHandle *out,
597 int allow_groups);
602XGB_DLL int XGDMatrixFree(DMatrixHandle handle);
614XGB_DLL int XGDMatrixSaveBinary(DMatrixHandle handle,
615 const char *fname, int silent);
616
625 char const* field,
626 char const* c_interface_str);
627
636XGB_DLL int XGDMatrixSetFloatInfo(DMatrixHandle handle,
637 const char *field,
638 const float *array,
639 bst_ulong len);
648XGB_DLL int XGDMatrixSetUIntInfo(DMatrixHandle handle,
649 const char *field,
650 const unsigned *array,
651 bst_ulong len);
652
679XGB_DLL int XGDMatrixSetStrFeatureInfo(DMatrixHandle handle, const char *field,
680 const char **features,
681 const bst_ulong size);
682
718XGB_DLL int XGDMatrixGetStrFeatureInfo(DMatrixHandle handle, const char *field,
719 bst_ulong *size,
720 const char ***out_features);
721
745XGB_DLL int XGDMatrixSetDenseInfo(DMatrixHandle handle, const char *field,
746 void const *data, bst_ulong size, int type);
747
755XGB_DLL int XGDMatrixSetGroup(DMatrixHandle handle,
756 const unsigned *group,
757 bst_ulong len);
758
767XGB_DLL int XGDMatrixGetFloatInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len,
768 const float **out_dptr);
781XGB_DLL int XGDMatrixGetUIntInfo(const DMatrixHandle handle,
782 const char *field,
783 bst_ulong* out_len,
784 const unsigned **out_dptr);
791XGB_DLL int XGDMatrixNumRow(DMatrixHandle handle,
792 bst_ulong *out);
799XGB_DLL int XGDMatrixNumCol(DMatrixHandle handle,
800 bst_ulong *out);
801
810XGB_DLL int XGDMatrixNumNonMissing(DMatrixHandle handle, bst_ulong *out);
811
832XGB_DLL int XGDMatrixGetDataAsCSR(DMatrixHandle const handle, char const *config,
833 bst_ulong *out_indptr, unsigned *out_indices, float *out_data);
834
850XGB_DLL int XGDMatrixGetQuantileCut(DMatrixHandle const handle, char const *config,
851 char const **out_indptr, char const **out_data);
852
// End of DMatrix
854
869XGB_DLL int XGBoosterCreate(const DMatrixHandle dmats[], bst_ulong len, BoosterHandle *out);
879XGB_DLL int XGBoosterFree(BoosterHandle handle);
897XGB_DLL int XGBoosterSlice(BoosterHandle handle, int begin_layer,
898 int end_layer, int step,
899 BoosterHandle *out);
900
908XGB_DLL int XGBoosterBoostedRounds(BoosterHandle handle, int* out);
909
917XGB_DLL int XGBoosterSetParam(BoosterHandle handle,
918 const char *name,
919 const char *value);
930XGB_DLL int XGBoosterGetNumFeature(BoosterHandle handle, bst_ulong *out);
942XGB_DLL int XGBoosterUpdateOneIter(BoosterHandle handle, int iter, DMatrixHandle dtrain);
957XGB_DLL int XGBoosterBoostOneIter(BoosterHandle handle,
958 DMatrixHandle dtrain,
959 float *grad,
960 float *hess,
961 bst_ulong len);
972XGB_DLL int XGBoosterEvalOneIter(BoosterHandle handle, int iter, DMatrixHandle dmats[],
973 const char *evnames[], bst_ulong len, const char **out_result);
1013XGB_DLL int XGBoosterPredict(BoosterHandle handle,
1014 DMatrixHandle dmat,
1015 int option_mask,
1016 unsigned ntree_limit,
1017 int training,
1018 bst_ulong *out_len,
1019 const float **out_result);
1020
1079XGB_DLL int XGBoosterPredictFromDMatrix(BoosterHandle handle, DMatrixHandle dmat,
1080 char const *config, bst_ulong const **out_shape,
1081 bst_ulong *out_dim, float const **out_result);
1106XGB_DLL int XGBoosterPredictFromDense(BoosterHandle handle, char const *values, char const *config,
1107 DMatrixHandle m, bst_ulong const **out_shape,
1108 bst_ulong *out_dim, const float **out_result);
1136XGB_DLL int XGBoosterPredictFromCSR(BoosterHandle handle, char const *indptr, char const *indices,
1137 char const *values, bst_ulong ncol, char const *config,
1138 DMatrixHandle m, bst_ulong const **out_shape,
1139 bst_ulong *out_dim, const float **out_result);
1140
1160XGB_DLL int XGBoosterPredictFromCudaArray(BoosterHandle handle, char const *values,
1161 char const *config, DMatrixHandle m,
1162 bst_ulong const **out_shape, bst_ulong *out_dim,
1163 const float **out_result);
1164
1184XGB_DLL int XGBoosterPredictFromCudaColumnar(BoosterHandle handle, char const *values,
1185 char const *config, DMatrixHandle m,
1186 bst_ulong const **out_shape, bst_ulong *out_dim,
1187 const float **out_result);
1188
// End of Prediction
1190
1191
1226XGB_DLL int XGBoosterLoadModel(BoosterHandle handle,
1227 const char *fname);
1235XGB_DLL int XGBoosterSaveModel(BoosterHandle handle,
1236 const char *fname);
1245XGB_DLL int XGBoosterLoadModelFromBuffer(BoosterHandle handle,
1246 const void *buf,
1247 bst_ulong len);
1248
1268XGB_DLL int XGBoosterSaveModelToBuffer(BoosterHandle handle, char const *config, bst_ulong *out_len,
1269 char const **out_dptr);
1270
1277XGB_DLL int XGBoosterGetModelRaw(BoosterHandle handle, bst_ulong *out_len,
1278 const char **out_dptr);
1279
1289XGB_DLL int XGBoosterSerializeToBuffer(BoosterHandle handle, bst_ulong *out_len,
1290 const char **out_dptr);
1300XGB_DLL int XGBoosterUnserializeFromBuffer(BoosterHandle handle,
1301 const void *buf, bst_ulong len);
1302
1310XGB_DLL int XGBoosterLoadRabitCheckpoint(BoosterHandle handle,
1311 int* version);
1312
1318XGB_DLL int XGBoosterSaveRabitCheckpoint(BoosterHandle handle);
1319
1320
1333XGB_DLL int XGBoosterSaveJsonConfig(BoosterHandle handle, bst_ulong *out_len,
1334 char const **out_str);
1344XGB_DLL int XGBoosterLoadJsonConfig(BoosterHandle handle, char const *config);
// End of Serialization
1346
1356XGB_DLL int XGBoosterDumpModel(BoosterHandle handle,
1357 const char *fmap,
1358 int with_stats,
1359 bst_ulong *out_len,
1360 const char ***out_dump_array);
1361
1372XGB_DLL int XGBoosterDumpModelEx(BoosterHandle handle,
1373 const char *fmap,
1374 int with_stats,
1375 const char *format,
1376 bst_ulong *out_len,
1377 const char ***out_dump_array);
1378
1390XGB_DLL int XGBoosterDumpModelWithFeatures(BoosterHandle handle,
1391 int fnum,
1392 const char **fname,
1393 const char **ftype,
1394 int with_stats,
1395 bst_ulong *out_len,
1396 const char ***out_models);
1397
1410XGB_DLL int XGBoosterDumpModelExWithFeatures(BoosterHandle handle,
1411 int fnum,
1412 const char **fname,
1413 const char **ftype,
1414 int with_stats,
1415 const char *format,
1416 bst_ulong *out_len,
1417 const char ***out_models);
1418
1427XGB_DLL int XGBoosterGetAttr(BoosterHandle handle,
1428 const char* key,
1429 const char** out,
1430 int *success);
1440XGB_DLL int XGBoosterSetAttr(BoosterHandle handle,
1441 const char* key,
1442 const char* value);
1450XGB_DLL int XGBoosterGetAttrNames(BoosterHandle handle,
1451 bst_ulong* out_len,
1452 const char*** out);
1453
1469XGB_DLL int XGBoosterSetStrFeatureInfo(BoosterHandle handle, const char *field,
1470 const char **features,
1471 const bst_ulong size);
1472
1492XGB_DLL int XGBoosterGetStrFeatureInfo(BoosterHandle handle, const char *field,
1493 bst_ulong *len,
1494 const char ***out_features);
1495
1521XGB_DLL int XGBoosterFeatureScore(BoosterHandle handle, const char *config,
1522 bst_ulong *out_n_features, char const ***out_features,
1523 bst_ulong *out_dim, bst_ulong const **out_shape,
1524 float const **out_scores);
// End of Booster
1526
1583XGB_DLL int XGCommunicatorInit(char const* config);
1584
1592XGB_DLL int XGCommunicatorFinalize(void);
1593
1599XGB_DLL int XGCommunicatorGetRank(void);
1600
1606XGB_DLL int XGCommunicatorGetWorldSize(void);
1607
1613XGB_DLL int XGCommunicatorIsDistributed(void);
1614
1624XGB_DLL int XGCommunicatorPrint(char const *message);
1625
1632XGB_DLL int XGCommunicatorGetProcessorName(const char** name_str);
1633
1648XGB_DLL int XGCommunicatorBroadcast(void *send_receive_buffer, size_t size, int root);
1649
1667XGB_DLL int XGCommunicatorAllreduce(void *send_receive_buffer, size_t count, int data_type, int op);
1668
// End of Collective
1670#endif // XGBOOST_C_API_H_
XGB_DLL int XGBoosterUpdateOneIter(BoosterHandle handle, int iter, DMatrixHandle dtrain)
update the model in one round using dtrain
Definition c_api.cc:960
XGB_DLL int XGBoosterEvalOneIter(BoosterHandle handle, int iter, DMatrixHandle dmats[], const char *evnames[], bst_ulong len, const char **out_result)
get evaluation statistics for xgboost
Definition c_api.cc:998
XGB_DLL 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.
Definition c_api.cc:1571
XGB_DLL int XGBoosterSetAttr(BoosterHandle handle, const char *key, const char *value)
Set or delete string attribute.
Definition c_api.cc:1531
XGB_DLL 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.
Definition c_api.cc:1596
XGB_DLL int XGBoosterFree(BoosterHandle handle)
free obj in handle
Definition c_api.cc:896
XGB_DLL int XGBoosterBoostedRounds(BoosterHandle handle, int *out)
Get number of boosted rounds from gradient booster. When process_type is update, this number might dr...
Definition c_api.cc:922
XGB_DLL 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
Definition c_api.cc:1480
XGB_DLL 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
Definition c_api.cc:1491
XGB_DLL 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 ...
Definition c_api.cc:1625
XGB_DLL int XGBoosterGetNumFeature(BoosterHandle handle, bst_ulong *out)
get number of features
Definition c_api.cc:912
XGB_DLL 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
Definition c_api.cc:1453
XGB_DLL 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...
Definition c_api.cc:1412
XGB_DLL 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
Definition c_api.cc:1464
XGB_DLL int XGBoosterGetAttrNames(BoosterHandle handle, bst_ulong *out_len, const char ***out)
Get the names of all attribute from Booster.
Definition c_api.cc:1547
XGB_DLL int XGBoosterCreate(const DMatrixHandle dmats[], bst_ulong len, BoosterHandle *out)
create xgboost learner
Definition c_api.cc:882
XGB_DLL int XGBoosterGetAttr(BoosterHandle handle, const char *key, const char **out, int *success)
Get string attribute from Booster.
Definition c_api.cc:1511
XGB_DLL int XGBoosterSetParam(BoosterHandle handle, const char *name, const char *value)
set parameters
Definition c_api.cc:903
XGB_DLL int XGBoosterBoostOneIter(BoosterHandle handle, DMatrixHandle dtrain, float *grad, float *hess, bst_ulong len)
update the model, by directly specify gradient and second order gradient, this can be used to replace...
Definition c_api.cc:973
XGB_DLL 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.
Definition c_api.cc:1741
XGB_DLL int XGCommunicatorFinalize(void)
Finalize the collective communicator.
Definition c_api.cc:1708
XGB_DLL int XGCommunicatorInit(char const *config)
Initialize the collective communicator.
Definition c_api.cc:1700
XGB_DLL int XGCommunicatorAllreduce(void *send_receive_buffer, size_t count, int data_type, int op)
Perform in-place allreduce. This function is NOT thread-safe.
Definition c_api.cc:1747
XGB_DLL int XGCommunicatorIsDistributed(void)
Get if the communicator is distributed.
Definition c_api.cc:1722
XGB_DLL int XGCommunicatorGetRank(void)
Get rank of current process.
Definition c_api.cc:1714
XGB_DLL int XGCommunicatorGetProcessorName(const char **name_str)
Get the name of the processor.
Definition c_api.cc:1732
XGB_DLL int XGCommunicatorGetWorldSize(void)
Get total number of processes.
Definition c_api.cc:1718
XGB_DLL int XGCommunicatorPrint(char const *message)
Print the message to the communicator.
Definition c_api.cc:1726
XGB_DLL 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.
Definition c_api.cc:831
XGB_DLL int XGDMatrixCreateFromMat(const float *data, bst_ulong nrow, bst_ulong ncol, float missing, DMatrixHandle *out)
create matrix content from dense matrix
Definition c_api.cc:499
XGB_DLL int XGDMatrixCreateFromCudaColumnar(char const *data, char const *config, DMatrixHandle *out)
Create DMatrix from CUDA columnar format. (cuDF)
Definition c_api.cc:283
XGB_DLL 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
Definition c_api.cc:522
XGB_DLL int XGDMatrixSetGroup(DMatrixHandle handle, const unsigned *group, bst_ulong len)
(deprecated) Use XGDMatrixSetUIntInfo instead. Set group of the training matrix
Definition c_api.cc:683
XGB_DLL int XGDMatrixNumCol(DMatrixHandle handle, bst_ulong *out)
get number of columns
Definition c_api.cc:730
XGB_DLL int XGDMatrixNumNonMissing(DMatrixHandle handle, bst_ulong *out)
Get number of valid values from DMatrix.
Definition c_api.cc:741
XGB_DLL int XGDMatrixCreateFromFile(const char *fname, int silent, DMatrixHandle *out)
load a data matrix
Definition c_api.cc:233
XGB_DLL 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
Definition c_api.cc:564
XGB_DLL 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.
Definition c_api.cc:750
XGB_DLL int XGDMatrixGetStrFeatureInfo(DMatrixHandle handle, const char *field, bst_ulong *size, const char ***out_features)
Get string encoded information of all features.
Definition c_api.cc:647
XGB_DLL int XGDMatrixSetUIntInfo(DMatrixHandle handle, const char *field, const unsigned *array, bst_ulong len)
set uint32 vector to a content in info
Definition c_api.cc:626
XGB_DLL int XGDMatrixCreateFromArrowCallback(XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
Construct DMatrix from arrow using callbacks. Arrow related C API is not stable and subject to change...
Definition c_api.cc:542
XGB_DLL int XGDMatrixCreateFromDense(char const *data, char const *config, DMatrixHandle *out)
Create a matrix from dense array.
Definition c_api.cc:451
XGB_DLL 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
Definition c_api.cc:424
XGB_DLL int XGDMatrixSetStrFeatureInfo(DMatrixHandle handle, const char *field, const char **features, const bst_ulong size)
Set string encoded information of all features.
Definition c_api.cc:636
XGB_DLL int XGDMatrixNumRow(DMatrixHandle handle, bst_ulong *out)
get number of rows.
Definition c_api.cc:720
XGB_DLL int XGDMatrixSetInfoFromInterface(DMatrixHandle handle, char const *field, char const *c_interface_str)
Set content in array interface to a content in info.
Definition c_api.cc:616
XGB_DLL int XGDMatrixGetFloatInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len, const float **out_dptr)
get float info vector from matrix.
Definition c_api.cc:692
XGB_DLL 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
Definition c_api.cc:488
XGB_DLL int XGDMatrixCreateFromURI(char const *config, DMatrixHandle *out)
load a data matrix
Definition c_api.cc:245
XGB_DLL int XGDMatrixCreateFromMat_omp(const float *data, bst_ulong nrow, bst_ulong ncol, float missing, DMatrixHandle *out, int nthread)
create matrix content from dense matrix
Definition c_api.cc:510
XGB_DLL int XGDMatrixSliceDMatrix(DMatrixHandle handle, const int *idxset, bst_ulong len, DMatrixHandle *out)
create a new dmatrix from sliced content of existing matrix
Definition c_api.cc:556
XGB_DLL int XGDMatrixGetUIntInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len, const unsigned **out_dptr)
get uint32 info vector from matrix
Definition c_api.cc:706
XGB_DLL int XGDMatrixSetDenseInfo(DMatrixHandle handle, const char *field, void const *data, bst_ulong size, int type)
Set meta info from dense matrix. Valid field names are:
Definition c_api.cc:672
XGB_DLL 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.
Definition c_api.cc:434
XGB_DLL 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.
Definition c_api.cc:469
XGB_DLL int XGDMatrixCreateFromCudaArrayInterface(char const *data, char const *config, DMatrixHandle *out)
Create DMatrix from CUDA array.
Definition c_api.cc:289
XGB_DLL int XGDMatrixSetFloatInfo(DMatrixHandle handle, const char *field, const float *array, bst_ulong len)
set float vector to a content in info
Definition c_api.cc:606
XGB_DLL int XGDMatrixFree(DMatrixHandle handle)
free space in data matrix
Definition c_api.cc:585
XGB_DLL int XGDMatrixSaveBinary(DMatrixHandle handle, const char *fname, int silent)
load a data matrix into binary file
Definition c_api.cc:592
XGB_DLL const char * XGBGetLastError()
get string message of the last error
Definition c_api_error.cc:16
XGB_DLL void XGBoostVersion(int *major, int *minor, int *patch)
Return the version of the XGBoost library being currently used.
Definition c_api.cc:59
XGB_DLL int XGBuildInfo(char const **out)
Get compile information of shared library.
Definition c_api.cc:84
XGB_DLL int XGBGetGlobalConfig(char const **out_config)
Get current global configuration (collection of parameters that apply globally).
Definition c_api.cc:195
XGB_DLL int XGBRegisterLogCallback(void(*callback)(const char *))
register callback function for LOG(INFO) messages – helpful messages that are not errors....
Definition c_api.cc:139
XGB_DLL int XGBSetGlobalConfig(char const *config)
Set global configuration (collection of parameters that apply globally). This function accepts the li...
Definition c_api.cc:146
void * DMatrixHandle
handle to DMatrix
Definition c_api.h:49
XGB_DLL 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).
XGB_DLL 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.
Definition c_api.cc:1051
XGB_DLL 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.
Definition c_api.cc:1149
XGB_DLL 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).
XGB_DLL 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)
Definition c_api.cc:1025
XGB_DLL 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.
Definition c_api.cc:1170
XGB_DLL int XGBoosterLoadModel(BoosterHandle handle, const char *fname)
Load model from existing file.
Definition c_api.cc:1212
XGB_DLL int XGBoosterSaveModel(BoosterHandle handle, const char *fname)
Save model into existing file.
Definition c_api.cc:1246
XGB_DLL int XGBoosterSaveRabitCheckpoint(BoosterHandle handle)
Save the current checkpoint to rabit.
Definition c_api.cc:1403
XGB_DLL int XGBoosterLoadRabitCheckpoint(BoosterHandle handle, int *version)
Initialize the booster from rabit checkpoint. This is used in distributed training API.
Definition c_api.cc:1390
XGB_DLL int XGBoosterLoadModelFromBuffer(BoosterHandle handle, const void *buf, bst_ulong len)
load model from in memory buffer
Definition c_api.cc:1277
XGB_DLL int XGBoosterGetModelRaw(BoosterHandle handle, bst_ulong *out_len, const char **out_dptr)
Save booster to a buffer with in binary format.
Definition c_api.cc:1333
XGB_DLL 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,...
Definition c_api.cc:1288
XGB_DLL int XGBoosterLoadJsonConfig(BoosterHandle handle, char const *config)
Load XGBoost's internal configuration from a JSON document. Currently the support is experimental,...
Definition c_api.cc:931
XGB_DLL int XGBoosterUnserializeFromBuffer(BoosterHandle handle, const void *buf, bst_ulong len)
Memory snapshot based serialization method. Loads the buffer returned from XGBoosterSerializeToBuffer...
Definition c_api.cc:1378
XGB_DLL int XGBoosterSerializeToBuffer(BoosterHandle handle, bst_ulong *out_len, const char **out_dptr)
Memory snapshot based serialization method. Saves everything states into buffer.
Definition c_api.cc:1358
XGB_DLL 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,...
Definition c_api.cc:940
void * DataHolderHandle
handle to a internal data holder.
Definition c_api.h:336
XGB_EXTERN_C typedef int XGDMatrixCallbackNext(DataIterHandle iter)
Callback function prototype for getting next batch of data.
XGB_DLL int XGDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
Create an external memory DMatrix with data iterator.
Definition c_api.cc:298
XGB_DLL int XGQuantileDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterHandle ref, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
Create a Quantile DMatrix with data iterator.
Definition c_api.cc:330
XGB_DLL int XGProxyDMatrixCreate(DMatrixHandle *out)
Second set of callback functions, used by constructing Quantile DMatrix or external memory DMatrix us...
Definition c_api.cc:359
XGB_EXTERN_C typedef void DataIterResetCallback(DataIterHandle handle)
Callback function prototype for resetting external iterator.
XGB_DLL int XGProxyDMatrixSetDataCudaArrayInterface(DMatrixHandle handle, const char *c_interface_str)
Set data on a DMatrix proxy.
Definition c_api.cc:367
XGB_EXTERN_C typedef int XGBCallbackSetData(DataHolderHandle handle, XGBoostBatchCSR batch)
Callback to set the data to handle,.
void * DataIterHandle
handle to a external data iterator
Definition c_api.h:334
XGB_DLL int XGProxyDMatrixSetDataCSR(DMatrixHandle handle, char const *indptr, char const *indices, char const *data, bst_ulong ncol)
Set data on a DMatrix proxy.
Definition c_api.cc:406
XGB_DLL int XGDMatrixCreateFromDataIter(DataIterHandle data_handle, XGBCallbackDataIterNext *callback, const char *cache_info, DMatrixHandle *out)
Create a DMatrix from a data iterator.
Definition c_api.cc:260
XGB_DLL int XGProxyDMatrixSetDataCudaColumnar(DMatrixHandle handle, const char *c_interface_str)
Set data on a DMatrix proxy.
Definition c_api.cc:380
XGB_EXTERN_C typedef 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.
XGB_DLL 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.
Definition c_api.cc:318
XGB_DLL int XGProxyDMatrixSetDataDense(DMatrixHandle handle, char const *c_interface_str)
Set data on a DMatrix proxy.
Definition c_api.cc:393
Mini batch used in XGBoost Data Iteration.
Definition c_api.h:340
int64_t * offset
row pointer to the rows in the data
Definition c_api.h:351
int * index
feature index
Definition c_api.h:358
float * value
feature values
Definition c_api.h:360
float * weight
weight of each instance, can be NULL
Definition c_api.h:356
size_t size
number of rows in the minibatch
Definition c_api.h:342