[PLUGIN] Add plugin system

This commit is contained in:
tqchen
2016-01-12 11:56:22 -08:00
parent 36c389ac46
commit 96f4542a67
14 changed files with 457 additions and 13 deletions

21
plugin/example/README.md Normal file
View File

@@ -0,0 +1,21 @@
XGBoost Plugin Example
======================
This folder provides an example of xgboost plugin.
There are three steps you need to to do to add plugin to xgboost
- Create your source .cc file, implement a new extension
- In this example [custom_obj.cc](custom_obj.cc)
- Register this extension to xgboost via registration macr
- In this example ```XGBOOST_REGISTER_OBJECTIVE``` in [this line](custom_obj.cc#L75)
- Create a [plugin.mk](plugin.mk) on this folder
To add this plugin, add the following line to ```config.mk```(template in make/config.mk).
```makefile
# Add plugin by include the plugin in config
include plugin/example/plugin.mk
```
Then you can test this plugin by using ```objective=mylogistic``` parameter.