Transpile BDTs to C++ code.
Project description
# Generate C++ representations of boosted decision trees
This project tries to provide a generic functionality to transpile trained BDTs into minimal, efficient C++ functions to evaluate single vectors of features.
While many frameworks exist to train, evaluate and store BDTs, its often hard to use the results in a productive manner.
## Installation
So far there is only python3 support. Run ` pip install bdt2cpp ` to install the latest tagged version or ` pip install git+https://github.com/bixel/bdt2cpp.git ` for the current master version.
## Usage
To generate a minimal Makefile together with the C++ code inside a build/ directory from a given XGBoost dump or TMVA .xml file, simply run ` bdt2cpp my-bdt-dump.xgb ` You will find the corresponding files within the build/ directory and if you have installed clang, you can simply ` cd build make `
The generated executable is essentially a very minimal placeholder, if you had 3 input features you could quickly cross-check the predictions against the original training framework: ` cd build ./main 1 2 3 ` should give the same output as received within the training framework if a feature vector f = (1, 2, 3) is evaluated.
To see the complete list of features with some explanations, run ` bdt2cpp -h `
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for bdt2cpp-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 426ea9dc2393cb4c76508a6b81dee775391ef4e33d01777982d001dfeb62399a |
|
MD5 | a9dcc07b5a6ab802b87c5e94388d148c |
|
BLAKE2b-256 | 82fd4dd63efc037c69f9102135d9500e8729e29e7fada520ca036c5adf7fbd1e |