Transpile BDTs to C++ code.
# 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.
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.
To generate a minimal Makefile together with the C++ code inside a
directory from a given XGBoost dump or TMVA
.xml file, simply run
You will find the corresponding files within the
build/ directory and if you
clang, you can simply
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:
./main 1 2 3
should give the same output as received within the training framework if a
f = (1, 2, 3) is evaluated.
To see the complete list of features with some explanations, run ` bdt2cpp -h `