RecBole v1.1.0
RecBole v1.1.0 Release Notes
After more than half a year of hard work, we have completed the upgrade of RecBole and released a new version: RecBole v1.1.0 !
In this release, we fully consider users' feedback and demands to improve the user friendliness of RecBole. Specifically, we update several commonly used mainstream data processing methods and reconstruct our data module to be compatible with a series of efficient data processing APIs. Meanwhile, we implement distributed training and parallel tuning modules to accelerate models with large-scale data. According to the issues and discussions, we also fix a number of bugs and update the documentation to make it more user-friendly.
In a word, RecBole v1.1.0 is more efficient, convenient and flexible than previous versions. More details will be introduced in the following part:
- Highlights
- New Features
- Bug Fixes
- Code Refactor
- Docs
Highlights
The RecBole v1.1.0 release includes a quantity of wonderful new features, some bug fixes and code refactor. A few of the highlights include:
- We add 5 new models into RecBole.
- More flexible data processing. We add data transformation for sequential models, discretization of continuous features for context-aware models and knowledge graph filtering for knowledge-aware models.
- More efficient training and tuning. We add three components in RecBole: multi-GPU training, mixed precision training and intelligent hyperparameter tuning, which makes it more efficient to deal with the large-scale data in different recommendation scenarios.
- More reproducible configurations. To further facilitate the search process of hyper parameters, we provide the hyper-parameter selection range and recommended configurations for each model on three datasets, covering four types of recommendation tasks.
- More user-friendly documentation. We add detailed running examples and run-time configurations for all kinds of recommendation tasks.
New Features
- Add 5 new models:
- Add ipynb tutorials of prediction in run_example (#1229).
- Support mixed precision training (#1337).
- Add the implemention of distributed recommendation (#1338).
- Support data filtering of knowledge graph (#1342).
- Support counting of FLOPs (#1345).
- Add Python code formatting in github action according to PEP8 (#1349).
- Add non-ergodic hyper-parameter search strategy (#1350).
- Add float feature field discretization (#1352).
- Support hyper-parameter search using Ray (#1360, #1411).
- Add data transform (#1380).
- Add benchmark into RecBole (#1416).
Bug Fixes
- Model:
- Fix a bug in
abstract_recommender.py
: updateembed_input_fields
function (#1177) - Fix a bug in SGL: remove the device in embedding layer (#1180).
- Fix a bug in NeuMF: updated the copy method of model parameters (#1186).
- Fix the code in SRGNN: code optimization of SRGNN (#1217).
- Fix UserWarning in LightGCN, NGCF, NCL, SGL and SimpleX: add
np.array()
inget_norm_adj_mat
andcsr2tensor
(#1225, #1397). - Fix a bug in CORE: remove
item_seq_len
inforward
(#1379). - Fix a bug in FwFMs: update
float_embeddings
andfwfm_layer
in FwFMs (#1414).
- Fix a bug in
- Dataset:
- Fix the bug in
Interaction
when input tensor is 0-d tensor (#1188). - Fix the bug of
unused_col
is not used when usingbenchmark_file
(#1301). - Fix dataloader random factors (#1340).
- Delete transform log (#1385).
- Fix serialize bug when save/load dataloaders (#1386).
- Fix the funtion of
history_item_matrix
(#1405).
- Fix the bug in
- Trainer:
- Util:
- Config:
- Typo:
- Fix typo of
ValueError
indataset._get_download_url
(#1190).
- Fix typo of
Code Refactor
- Refractor the negative sampling: use
train_neg_sample_args(dict)
instead ofneg_sampling(dict)
(#1343). - Refractor the log: (1) add hash config and rename log file (#1341). (2) add model and dataset name to log file (#1381).
- Refractor the test process: add tests for hyper-tuning (#1361).
- Refractor the
configurator
: add warning for old parameter (#1367). - Refractor the popularity sampling: add alpha parameter for popularity sampling distribution (#1382).
- Refractor the
FPMC
: add CE and BPR loss to FPMC (#1383). - Refractor the
run_hyper
: add display parameter for run_hyper (#1385).
Docs
-
Add supplementary description of DMF (#1194).
-
Fix the authors for SR-GNN in docs (#1204).
-
Add sequential, context and knowledge quick start (#1351).
-
Fix docstring warning when making html files (#1353).
-
Fix some documentation typo (#1359).
-
Add docs for Distributed DataParallell (#1362).
-
Insert
eval_collector.data_collect
when evaluate from checkpoint (#1364). -
Modify
neg_sampling
intotrain_neg_sample_args
in sequential docs (#1365). -
Update open source contributions, model list and add constraints for purpose in README (#1371, #1457).
-
Fix warnings in docs and modify configuration (#1373).
-
Rename
neg_sampling
totrain_neg_sample_args
(#1383). -
Fix description of mixed precision training and Ray (#1407).