
HomePage | Docs | GitHub | Datasets | v0.1.2 | v0.2.0 | v1.0.0 | v1.0.1 | v1.1.1 | v1.2.0
Introduction¶
RecBole is a unified, comprehensive and efficient framework developed based on PyTorch. It aims to help the researchers to reproduce and develop recommendation models.
In the lastest release, our library includes 94 recommendation algorithms [Model List], covering four major categories:
General Recommendation
Sequential Recommendation
Context-aware Recommendation
Knowledge-based Recommendation
We design a unified and flexible data file format, and provide the support for 44 benchmark recommendation datasets [Collected Datasets]. A user can apply the provided script to process the original data copy, or simply download the processed datasets by our team.

Features:
- General and extensible data structure
We deign general and extensible data structures to unify the formatting and usage of various recommendation datasets.
- Comprehensive benchmark models and datasets
We implement 94 commonly used recommendation algorithms, and provide the formatted copies of 44 recommendation datasets.
- Efficient GPU-accelerated execution
We design many tailored strategies in the GPU environment to enhance the efficiency of our library.
- Extensive and standard evaluation protocols
We support a series of commonly used evaluation protocols or settings for testing and comparing recommendation algorithms.
Get Started
User Guide
Developer Guide
API REFERENCE:
- recbole.config.configurator
Config
- recbole.data
- recbole.evaluator
- recbole.model
- recbole.quick_start
load_data_and_model()
objective_function()
run()
run_recbole()
run_recboles()
- recbole.sampler
AbstractSampler
KGSampler
RepeatableSampler
Sampler
SeqSampler
- recbole.trainer.hyper_tuning
ExhaustiveSearchError
HyperTuning
exhaustive_search()
- recbole.trainer.trainer
AbstractTrainer
DecisionTreeTrainer
KGATTrainer
KGTrainer
LightGBMTrainer
MKRTrainer
NCLTrainer
PretrainTrainer
RaCTTrainer
RecVAETrainer
S3RecTrainer
TraditionalTrainer
Trainer
XGBoostTrainer
- recbole.utils.case_study
full_sort_scores()
full_sort_topk()
- recbole.utils.enum_type
EvaluatorType
FeatureSource
FeatureType
InputType
KGDataLoaderState
ModelType
- recbole.utils.logger
RemoveColorFilter
init_logger()
set_color()
- recbole.utils.utils
calculate_valid_score()
dict2str()
early_stopping()
ensure_dir()
get_environment()
get_flops()
get_gpu_usage()
get_local_time()
get_model()
get_tensorboard()
get_trainer()
init_seed()
list_to_latex()
The Team¶
RecBole is developed and maintained by RUC, BUPT, ECNU.
Here is the list of our lead developers in each development phase. They are the souls of RecBole and have made outstanding contributions.
Time |
Version |
Lead Developers |
---|---|---|
June 2020 ~ Nov. 2020 |
v0.1.1 |
|
Nov. 2020 ~ Oct. 2022 |
v0.1.2 ~ v1.0.1 |
|
Oct. 2022 ~ Nov. 2023 |
v1.1.0 ~ v1.1.1 |
|
Nov. 2023 ~ Feb. 2025 |
v1.2.0 |
|
Feb. 2025 ~ Now |
v1.2.1 |
License¶
RecBole uses MIT License.