xgboost/plugin/README.md
Jiaming Yuan ab357dd41c
Remove plugin, cuda related code in automake & autoconf files (#4789)
* Build plugin example with CMake.

* Remove plugin, cuda related code in automake & autoconf files.

* Fix typo in GPU doc.
2019-08-18 16:54:34 -04:00

41 lines
1.6 KiB
Markdown

XGBoost Plugins Modules
=======================
This folder contains plugin modules to xgboost that can be optionally installed. The
plugin system helps us to extend xgboost with additional features, and add experimental
features that may not yet be ready to be included in the main project.
To include a certain plugin, say ```plugin_a```, you only need to add the following line
to `xgboost/plugin/CMakeLists.txt`
``` cmake
set(PLUGIN_SOURCES ${PLUGIN_SOURCES}
${xgboost_SOURCE_DIR}/plugin/plugin_a.cc PARENT_SCOPE)
```
along with specified source file `plugin_a.cc`.
Then rebuild XGBoost with CMake.
Write Your Own Plugin
---------------------
You can plugin your own modules to xgboost by adding code to this folder,
without modification to the main code repo.
The [example](example) folder provides an example to write a plugin.
List of register functions
--------------------------
A plugin has to register a new functionality to xgboost to be able to use it.
The register macros available to plugin writers are:
- XGBOOST_REGISTER_METRIC - Register an evaluation metric
- XGBOOST_REGISTER_GBM - Register a new gradient booster that learns through
gradient statistics
- XGBOOST_REGISTER_OBJECTIVE - Register a new objective function used by xgboost
- XGBOOST_REGISTER_TREE_UPDATER - Register a new tree-updater which updates
the tree given the gradient information
And from dmlc-core:
- DMLC_REGISTER_PARAMETER - Register a set of parameter for a specific usecase
- DMLC_REGISTER_DATA_PARSER - Register a data parser where the data can be
represented by a URL. This is used by DMatrix.