Andrew V. Adinetz d5992dd881 Replaced std::vector-based interfaces with HostDeviceVector-based interfaces. (#3116)
* 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.
2018-02-28 13:00:04 +13:00
..
2016-01-16 10:25:11 -08:00
2016-11-04 09:55:25 -07:00

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
  • Register this extension to xgboost via a registration macro
    • In this example XGBOOST_REGISTER_OBJECTIVE in this line
  • 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.