Welcome to GBRL’s documentation!

GBRL is a Python-based Gradient Boosting Trees (GBT) library, similar to popular packages such as XGBoost , CatBoost , but specifically designed and optimized for reinforcement learning (RL). GBRL is implemented in C++/CUDA aimed to seamlessly integrate within popular RL libraries.

Feature Support Matrix

The following table summarizes feature availability by tree type and device:

Feature

Greedy CPU

Greedy GPU

Oblivious CPU

Oblivious GPU

Tree Fitting

Monotonic Constraints

✓ (SGD only)

✓ (SGD only)

Linear LR Scheduler

Constant LR Scheduler

ADAM Optimizer

SGD Optimizer

Control Variates

Note

Monotonic constraints apply to the output dimensions covered by the optimizer (start_idx to stop_idx-1). They require SGD: GBRL raises a ValueError if any optimizer on the model uses Adam, and MultiGBTLearner does not support them at all. See Examples for details.