* Replaced std::vector-based interfaces with HostDeviceVector-based interfaces. - replacement was performed in the learner, boosters, predictors, updaters, and objective functions - only interfaces used in training were replaced; interfaces like PredictInstance() still use std::vector - refactoring necessary for replacement of interfaces was also performed, such as using HostDeviceVector in prediction cache * HostDeviceVector-based interfaces for custom objective function example plugin.
XGBoost Plugin Example
This folder provides an example of xgboost plugin.
There are three steps you need to do to add a plugin to xgboost
- Create your source .cc file, implement a new extension
- In this example custom_obj.cc
- Register this extension to xgboost via a registration macro
- In this example
XGBOOST_REGISTER_OBJECTIVEin this line
- In this example
- Create a plugin.mk on this folder
To add this plugin, add the following line to config.mk(template in make/config.mk).
# Add plugin by include the plugin in config
XGB_PLUGINS += plugin/plugin_a/plugin.mk
Then you can test this plugin by using objective=mylogistic parameter.