Recbole

Latest version: v1.2.1

Safety actively analyzes 714860 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.2.1

After months of focused effort, we're excited to announce the completion of the RecBole upgrade and the release of a new version: **RecBole v1.2.1**.

In this update, we've listened to user feedback and evolving needs to make meaningful improvements to the overall experience and usability of RecBole. To better serve our growing community, we've added more benchmark models and datasets. We've also addressed various bugs reported by users and updated our [documentation](https://recbole.io/docs/) to make it clearer, more comprehensive, and easier to navigate.

In a word, RecBole v1.2.1 is more efficient, convenient and flexible than previous versions. More details will be introduced in the following part:

- New Features
- Bug Fixes
- Docs

New Features

- Add 3 new models:
- General recommendation (1): AsymKNN ([2122](https://github.com/RUCAIBox/RecBole/pull/2122)).
- Sequential recommendation (2): GRU4RecCPR and SASRecCPR ([1912](https://github.com/RUCAIBox/RecBole/pull/1912)).
- Add 1 new dataset: Amazon2023 ([2081](https://github.com/RUCAIBox/RecBole/pull/2081)).
- Modify the expensive tensor multiplication in RepeatNet ([1916](https://github.com/RUCAIBox/RecBole/pull/1916)).
- Support time-based split mode with ratios in evaluation ([2094](https://github.com/RUCAIBox/RecBole/pull/2094)).

Bug Fixes

- Model:
- Fix a bug in DiffRec: fix the running error of DiffRec when noise_scale=0 ([1915](https://github.com/RUCAIBox/RecBole/pull/1915)).
- Fix dropout instantiation in NGCF and GRU4RecKG ([1946](https://github.com/RUCAIBox/RecBole/pull/1946)).
- Fix bugs when running Random, ADMMSLIM, and SLIMElastic with negative sampling evaluations ([1997](https://github.com/RUCAIBox/RecBole/pull/1997)).
- Fix neg sample eval bugs for DiffRec and LDiffRec ([1999](https://github.com/RUCAIBox/RecBole/pull/1999)).
- Fix the endless loop training bug in FEARec ([2024](https://github.com/RUCAIBox/RecBole/pull/2024)).
- Fix the loss weight of S3Rec ([2028](https://github.com/RUCAIBox/RecBole/pull/2028)).
- Evaluator:
- Fix only use cpu in the final step in collector.py to reduce the usage of cpu ([2071](https://github.com/RUCAIBox/RecBole/pull/2071)).
- Typo:
- Fix typos on logger warning in `general_dataloader.py` ([1976](https://github.com/RUCAIBox/RecBole/pull/1976)).

Docs

- Add acknowledgment ([2007](https://github.com/RUCAIBox/RecBole/pull/2007)).
- Update README: Standardize citation format ([2012](https://github.com/RUCAIBox/RecBole/pull/2012)).
- Fix argument value in automatic selection of model ([2053](https://github.com/RUCAIBox/RecBole/pull/2053)).
- Update Sequential_recommendation.md ([2091](https://github.com/RUCAIBox/RecBole/pull/2091)).
- Update README_CN.md: add colab link for convenient practice ([2130](https://github.com/RUCAIBox/RecBole/pull/2130)).

1.2.0

After a long period of hard work, we have completed the upgrade of RecBole and released a new version: RecBole v1.2.0!

In this release, we fully consider users' feedback and demands to improve the user friendliness of RecBole. First, we include more benchmark models and datasets to meet the latest needs of users. Secondly, we improve the benchmark framework by including commonly used data processing methods and efficient training and evaluation APIs, and also provide more support for result analysis and use. Thirdly, in order to improve the user experience, we provide more comprehensive project pages and documentation. According to the issues and discussions, we also fix a number of bugs and update the [documentation](https://recbole.io/docs/) to make it more user-friendly.

In a word, RecBole v1.2.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.2.0 release includes a quantity of wonderful new features, some bug fixes and code refactor. A few of the highlights include:

1. **We add 7 new models and 2 new datasets.**
2. **More flexible data processing.** We reframe the overall data flow with PyTorch towards a compatible data module and add more task-oriented data processing methods.
3. **More user-friendly documentations.** We update the website and documentation with detailed descriptions including visualization of benchmark configurations and more practical examples of the customized training strategy, multi-GPU training cases and detailed running steps. Besides, we also develop a FAQ page based on the existing GitHub issues of RecBole.

New Features

- Add 7 new models:
- Context recommendation (3): FiGNN ([1509](https://github.com/RUCAIBox/RecBole/pull/1509)), KD_DAGFM ([#1628](https://github.com/RUCAIBox/RecBole/pull/1628)), EulerNet ([#1744](https://github.com/RUCAIBox/RecBole/pull/1744)).
- General recommendation (3): Random ([1690](https://github.com/RUCAIBox/RecBole/pull/1690)), DiffRec and LDiffRec ([#1885](https://github.com/RUCAIBox/RecBole/pull/1885)).
- Sequential recommendation (1): FEARec([1899](https://github.com/RUCAIBox/RecBole/pull/1899)).
- Add 2 new datasets: Music4All-Onion ([1668](https://github.com/RUCAIBox/RecBole/pull/1668)), Amazon-M2 ([#1828](https://github.com/RUCAIBox/RecBole/pull/1828)).
- Add the pretrain method to ConvNCF ([1651](https://github.com/RUCAIBox/RecBole/pull/1651)).
- Support converting results to latex code ([1645](https://github.com/RUCAIBox/RecBole/pull/1645)).
- Support different eval dataloaders for valid and test phases ([1666](https://github.com/RUCAIBox/RecBole/pull/1666)).

Bug Fixes

- Model:
- Fix a bug in DIEN: mask the padding value in aux loss and add softmax to attention values ([1485](https://github.com/RUCAIBox/RecBole/pull/1485)).
- Fix the bug of deepcopy in DCNV2, xDeepFM, SpectralCF, FOSSIL, HGN, SHAN and SINE ([1488](https://github.com/RUCAIBox/RecBole/pull/1488)).
- Fix a bug in EASE: change the data format ([1497](https://github.com/RUCAIBox/RecBole/pull/1497)).
- Fix a bug in NeuMF: fix the `load_pretrain` function ([1502](https://github.com/RUCAIBox/RecBole/pull/1502)).
- Fix a bug in LINE: add log function when computing loss ([1507](https://github.com/RUCAIBox/RecBole/pull/1507)).
- Fix the field counts for float-like features in `abstract_recommender.py` ([1603](https://github.com/RUCAIBox/RecBole/pull/1603)).
- Fix a bug in GCMC: change the last dense layer to `dense_layer_v` for item hidden representations ([1635](https://github.com/RUCAIBox/RecBole/pull/1635)).
- Fix a bug in KD_DAGFM: use xavier_normal_initialization to initialize embedding ([1641](https://github.com/RUCAIBox/RecBole/pull/1641)).
- Fix a bug in KSR: add an extra param `kg_embedding_size` ([1647](https://github.com/RUCAIBox/RecBole/pull/1647)).
- Fix a bug in S3Rec: load `item_seq` from gpu to cpu for indexing ([1651](https://github.com/RUCAIBox/RecBole/pull/1651)).
- Fix a bug in `AutoEncoderMixin`: convert tensors into the correct device ([1749](https://github.com/RUCAIBox/RecBole/pull/1749)).
- Fix a bug in DGCF: correct l2 distance computation ([1845](https://github.com/RUCAIBox/RecBole/pull/1845)).
- Dataset:
- Fix the truncation bug of seq type data ([1481](https://github.com/RUCAIBox/RecBole/pull/1481)).
- Fix a bug in `interaction.py`: transform type from torch.tensor to np.array ([1612](https://github.com/RUCAIBox/RecBole/pull/1612)).
- Fix saving and loading for datasets and dataloaders ([1698](https://github.com/RUCAIBox/RecBole/pull/1698)).
- Fix reversing kg data ([1829](https://github.com/RUCAIBox/RecBole/pull/1829)).
- Fix `if` condition in `set_neg_sample_args` function ([1863](https://github.com/RUCAIBox/RecBole/pull/1863)).
- Trainer:
- Delete unnecessary import in `trainer.py` ([1500](https://github.com/RUCAIBox/RecBole/pull/1500)).
- Fix `calculate_loss` error when use multi-gpu ([1873](https://github.com/RUCAIBox/RecBole/pull/1873)).
- Util:
- Fix the bugs on the suffix of dataset downloading ([1501](https://github.com/RUCAIBox/RecBole/pull/1501)).
- Fix a bug in alpha parameter for eval sampler ([1504](https://github.com/RUCAIBox/RecBole/pull/1504)).
- Evaluator:
- Fix `data.count_users` in `collector.py` ([1526](https://github.com/RUCAIBox/RecBole/pull/1526)).
- Config:
- Fix numpy compatibility issue ([1621](https://github.com/RUCAIBox/RecBole/pull/1621)).
- Update `configurator.py` ([1625](https://github.com/RUCAIBox/RecBole/pull/1625)).
- Main:
- Fix bugs when collecting results from `mp.spawn` in multi-GPU training ([1875](https://github.com/RUCAIBox/RecBole/pull/1875)).
- Typo:
- Fix typos in `dataset_list.json` ([1756](https://github.com/RUCAIBox/RecBole/pull/1756)).

Code Refactor

- Refactor all autoencoder models: add class `AutoEncoderMixin` and only set rating matrix to cuda when `get_rating_matrix` is called ([1491](https://github.com/RUCAIBox/RecBole/pull/1491)).
- Refactor BERT4Rec: align with the original paper ([1522](https://github.com/RUCAIBox/RecBole/pull/1522), [#1639](https://github.com/RUCAIBox/RecBole/pull/1639), [#1859](https://github.com/RUCAIBox/RecBole/pull/1859)).

Docs

- Mask the ip information ([1479](https://github.com/RUCAIBox/RecBole/pull/1479)).
- Update docs of `train_neg_sample_args` parameter ([1513](https://github.com/RUCAIBox/RecBole/pull/1513)).
- Add hypertune config docs ([1524](https://github.com/RUCAIBox/RecBole/pull/1524)).
- Add `model_list` and `dataset_list` ([1525](https://github.com/RUCAIBox/RecBole/pull/1525)).
- Add FiGNN to the `model_list` ([1548](https://github.com/RUCAIBox/RecBole/pull/1548)).
- Add `numerical_feature` to docs ([1560](https://github.com/RUCAIBox/RecBole/pull/1560)).
- Replace `neg_sampling` with `train_neg_sample_args` in docs ([1569](https://github.com/RUCAIBox/RecBole/pull/1569), [#1570](https://github.com/RUCAIBox/RecBole/pull/1570)).
- Add docs of KD_DAGFM ([1642](https://github.com/RUCAIBox/RecBole/pull/1642)).
- Add significant test ([1644](https://github.com/RUCAIBox/RecBole/pull/1644)).
- Add the rst file of FiGNN, KD_DAGFM and RecVAE ([1650](https://github.com/RUCAIBox/RecBole/pull/1650)).
- Add update for SIGIR 2023 in `README.md` ([1662](https://github.com/RUCAIBox/RecBole/pull/1662)).
- Update `requirement.txt` ([1870](https://github.com/RUCAIBox/RecBole/pull/1870)).

1.1.1

After more than half a year of hard work, we have completed the upgrade of RecBole and released a new version: RecBole v1.1.1 !

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](https://recbole.io/docs/) to make it more user-friendly.

In a word, RecBole v1.1.1 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.1 release includes a quantity of wonderful new features, some bug fixes and code refactor. A few of the highlights include:

1. **We add 5 new models into RecBole.**
2. **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.
3. **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.
4. **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.
5. **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:
- Context recommendation (1): DCNv2 ([1418](https://github.com/RUCAIBox/RecBole/pull/1418))
- General recommendation (1): SimpleX ([1282](https://github.com/RUCAIBox/RecBole/pull/1282))
- Sequential recommendation (1): CORE ([1274](https://github.com/RUCAIBox/RecBole/pull/1274))
- Knowledge-aware recommendation (2): KGIN ([1420](https://github.com/RUCAIBox/RecBole/pull/1420)), MCCLK ([#1420](https://github.com/RUCAIBox/RecBole/pull/1420))
- Add ipynb tutorials of prediction in run_example ([1229](https://github.com/RUCAIBox/RecBole/pull/1229)).
- Support mixed precision training ([1337](https://github.com/RUCAIBox/RecBole/pull/1337)).
- Add the implemention of distributed recommendation ([1338](https://github.com/RUCAIBox/RecBole/pull/1338)).
- Support data filtering of knowledge graph ([1342](https://github.com/RUCAIBox/RecBole/pull/1342)).
- Support counting of FLOPs ([1345](https://github.com/RUCAIBox/RecBole/pull/1345)).
- Add Python code formatting in github action according to PEP8 ([1349](https://github.com/RUCAIBox/RecBole/pull/1349)).
- Add non-ergodic hyper-parameter search strategy ([1350](https://github.com/RUCAIBox/RecBole/pull/1350)).
- Add float feature field discretization ([1352](https://github.com/RUCAIBox/RecBole/pull/1352)).
- Support hyper-parameter search using Ray ([1360](https://github.com/RUCAIBox/RecBole/pull/1360), [#1411](https://github.com/RUCAIBox/RecBole/pull/1411)).
- Add data transform ([1380](https://github.com/RUCAIBox/RecBole/pull/1380)).
- Add benchmark into RecBole ([1416](https://github.com/RUCAIBox/RecBole/pull/1416)).

Bug Fixes

- Model:
- Fix a bug in`abstract_recommender.py`: update `embed_input_fields` function ([1177](https://github.com/RUCAIBox/RecBole/pull/1177))
- Fix a bug in SGL: remove the device in embedding layer ([1180](https://github.com/RUCAIBox/RecBole/pull/1180)).
- Fix a bug in NeuMF: updated the copy method of model parameters ([1186](https://github.com/RUCAIBox/RecBole/pull/1186)).
- Fix the code in SRGNN: code optimization of SRGNN ([1217](https://github.com/RUCAIBox/RecBole/pull/1217)).
- Fix UserWarning in LightGCN, NGCF, NCL, SGL and SimpleX: add `np.array()` in `get_norm_adj_mat` and `csr2tensor` ([1225](https://github.com/RUCAIBox/RecBole/pull/1225), [#1397](https://github.com/RUCAIBox/RecBole/pull/1397)).
- Fix a bug in CORE: remove `item_seq_len` in `forward` ([1379](https://github.com/RUCAIBox/RecBole/pull/1379)).
- Fix a bug in FwFMs: update `float_embeddings` and `fwfm_layer` in FwFMs ([1414](https://github.com/RUCAIBox/RecBole/pull/1414)).
- Dataset:
- Fix the bug in `Interaction` when input tensor is 0-d tensor ([1188](https://github.com/RUCAIBox/RecBole/pull/1188)).
- Fix the bug of `unused_col` is not used when using `benchmark_file` ([1301](https://github.com/RUCAIBox/RecBole/pull/1301)).
- Fix dataloader random factors ([1340](https://github.com/RUCAIBox/RecBole/pull/1340)).
- Delete transform log ([1385](https://github.com/RUCAIBox/RecBole/issues/1385)).
- Fix serialize bug when save/load dataloaders ([1386](https://github.com/RUCAIBox/RecBole/issues/1386)).
- Fix the funtion of `history_item_matrix` ([1405](https://github.com/RUCAIBox/RecBole/issues/1405)).
- Fix compatibility issues for `dataloader.dataset` ([1475](https://github.com/RUCAIBox/RecBole/issues/1475)).
- Trainer:
- FIX `RandomState` in `hyper_tuning.py` ([1192](https://github.com/RUCAIBox/RecBole/issues/1192)).
- Fix mixed precision training on CPU ([1344](https://github.com/RUCAIBox/RecBole/issues/1344)).
- Util:
- Fix bugs of `get_flops` ([1379](https://github.com/RUCAIBox/RecBole/issues/1379), [#1395](https://github.com/RUCAIBox/RecBole/issues/1395), [#1403](https://github.com/RUCAIBox/RecBole/issues/1403)).
- Config:
- Fix the bug in `neg_sampling` config ([1215](https://github.com/RUCAIBox/RecBole/issues/1215)).
- Fix the bug of `normalize_all` in `ml-100k.yaml` ([1294](https://github.com/RUCAIBox/RecBole/issues/1294)).
- Fix the `gpu_id` format ([1402](https://github.com/RUCAIBox/RecBole/issues/1402)).
- Typo:
- Fix typo of `ValueError` in `dataset._get_download_url` ([1190](https://github.com/RUCAIBox/RecBole/pull/1190)).

Code Refactor

- Refractor the negative sampling: use `train_neg_sample_args(dict)` instead of `neg_sampling(dict)` ([1343](https://github.com/RUCAIBox/RecBole/pull/1343)).
- Refractor the log: (1) add hash config and rename log file ([1341](https://github.com/RUCAIBox/RecBole/pull/1341)). (2) add model and dataset name to log file ([#1381](https://github.com/RUCAIBox/RecBole/pull/1381)).
- Refractor the test process: add tests for hyper-tuning ([1361](https://github.com/RUCAIBox/RecBole/pull/1361)).
- Refractor the `configurator`: add warning for old parameter ([1367](https://github.com/RUCAIBox/RecBole/pull/1367)).
- Refractor the popularity sampling: add alpha parameter for popularity sampling distribution ([1382](https://github.com/RUCAIBox/RecBole/pull/1382)).
- Refractor the `FPMC`: add CE and BPR loss to FPMC ([1383](https://github.com/RUCAIBox/RecBole/pull/1383)).
- Refractor the `run_hyper`: add display parameter for run_hyper ([1385](https://github.com/RUCAIBox/RecBole/issues/1385)).

Docs

- Add supplementary description of DMF ([1194](https://github.com/RUCAIBox/RecBole/pull/1194)).

- Fix the authors for SR-GNN in docs ([1204](https://github.com/RUCAIBox/RecBole/pull/1204)).

- Add sequential, context and knowledge quick start ([1351](https://github.com/RUCAIBox/RecBole/pull/1351)).

- Fix docstring warning when making html files ([1353](https://github.com/RUCAIBox/RecBole/pull/1353)).

- Fix some documentation typo ([1359](https://github.com/RUCAIBox/RecBole/pull/1359)).

- Add docs for Distributed DataParallell ([1362](https://github.com/RUCAIBox/RecBole/pull/1362)).

- Insert `eval_collector.data_collect` when evaluate from checkpoint ([1364](https://github.com/RUCAIBox/RecBole/pull/1364)).

- Modify `neg_sampling` into `train_neg_sample_args` in sequential docs ([1365](https://github.com/RUCAIBox/RecBole/pull/1365)).

- Update open source contributions, model list and add constraints for purpose in README ([1371](https://github.com/RUCAIBox/RecBole/pull/1371), [#1457](https://github.com/RUCAIBox/RecBole/pull/1457)).

- Fix warnings in docs and modify configuration ([1373](https://github.com/RUCAIBox/RecBole/pull/1373)).

- Rename `neg_sampling` to `train_neg_sample_args` ([1383](https://github.com/RUCAIBox/RecBole/pull/1383)).

- Fix description of mixed precision training and Ray ([1407](https://github.com/RUCAIBox/RecBole/pull/1407)).

1.1.0

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](https://recbole.io/docs/) 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:

1. **We add 5 new models into RecBole.**
2. **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.
3. **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.
4. **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.
5. **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:
- Context recommendation (1): DCNv2 ([1418](https://github.com/RUCAIBox/RecBole/pull/1418))
- General recommendation (1): SimpleX ([1282](https://github.com/RUCAIBox/RecBole/pull/1282))
- Sequential recommendation (1): CORE ([1274](https://github.com/RUCAIBox/RecBole/pull/1274))
- Knowledge-aware recommendation (2): KGIN ([1420](https://github.com/RUCAIBox/RecBole/pull/1420)), MCCLK ([#1420](https://github.com/RUCAIBox/RecBole/pull/1420))
- Add ipynb tutorials of prediction in run_example ([1229](https://github.com/RUCAIBox/RecBole/pull/1229)).
- Support mixed precision training ([1337](https://github.com/RUCAIBox/RecBole/pull/1337)).
- Add the implemention of distributed recommendation ([1338](https://github.com/RUCAIBox/RecBole/pull/1338)).
- Support data filtering of knowledge graph ([1342](https://github.com/RUCAIBox/RecBole/pull/1342)).
- Support counting of FLOPs ([1345](https://github.com/RUCAIBox/RecBole/pull/1345)).
- Add Python code formatting in github action according to PEP8 ([1349](https://github.com/RUCAIBox/RecBole/pull/1349)).
- Add non-ergodic hyper-parameter search strategy ([1350](https://github.com/RUCAIBox/RecBole/pull/1350)).
- Add float feature field discretization ([1352](https://github.com/RUCAIBox/RecBole/pull/1352)).
- Support hyper-parameter search using Ray ([1360](https://github.com/RUCAIBox/RecBole/pull/1360), [#1411](https://github.com/RUCAIBox/RecBole/pull/1411)).
- Add data transform ([1380](https://github.com/RUCAIBox/RecBole/pull/1380)).
- Add benchmark into RecBole ([1416](https://github.com/RUCAIBox/RecBole/pull/1416)).

Bug Fixes

- Model:
- Fix a bug in`abstract_recommender.py`: update `embed_input_fields` function ([1177](https://github.com/RUCAIBox/RecBole/pull/1177))
- Fix a bug in SGL: remove the device in embedding layer ([1180](https://github.com/RUCAIBox/RecBole/pull/1180)).
- Fix a bug in NeuMF: updated the copy method of model parameters ([1186](https://github.com/RUCAIBox/RecBole/pull/1186)).
- Fix the code in SRGNN: code optimization of SRGNN ([1217](https://github.com/RUCAIBox/RecBole/pull/1217)).
- Fix UserWarning in LightGCN, NGCF, NCL, SGL and SimpleX: add `np.array()` in `get_norm_adj_mat` and `csr2tensor` ([1225](https://github.com/RUCAIBox/RecBole/pull/1225), [#1397](https://github.com/RUCAIBox/RecBole/pull/1397)).
- Fix a bug in CORE: remove `item_seq_len` in `forward` ([1379](https://github.com/RUCAIBox/RecBole/pull/1379)).
- Fix a bug in FwFMs: update `float_embeddings` and `fwfm_layer` in FwFMs ([1414](https://github.com/RUCAIBox/RecBole/pull/1414)).
- Dataset:
- Fix the bug in `Interaction` when input tensor is 0-d tensor ([1188](https://github.com/RUCAIBox/RecBole/pull/1188)).
- Fix the bug of `unused_col` is not used when using `benchmark_file` ([1301](https://github.com/RUCAIBox/RecBole/pull/1301)).
- Fix dataloader random factors ([1340](https://github.com/RUCAIBox/RecBole/pull/1340)).
- Delete transform log ([1385](https://github.com/RUCAIBox/RecBole/issues/1385)).
- Fix serialize bug when save/load dataloaders ([1386](https://github.com/RUCAIBox/RecBole/issues/1386)).
- Fix the funtion of `history_item_matrix` ([1405](https://github.com/RUCAIBox/RecBole/issues/1405)).
- Trainer:
- FIX `RandomState` in `hyper_tuning.py` ([1192](https://github.com/RUCAIBox/RecBole/issues/1192)).
- Fix mixed precision training on CPU ([1344](https://github.com/RUCAIBox/RecBole/issues/1344)).
- Util:
- Fix bugs of `get_flops` ([1379](https://github.com/RUCAIBox/RecBole/issues/1379), [#1395](https://github.com/RUCAIBox/RecBole/issues/1395), [#1403](https://github.com/RUCAIBox/RecBole/issues/1403)).
- Config:
- Fix the bug in `neg_sampling` config ([1215](https://github.com/RUCAIBox/RecBole/issues/1215)).
- Fix the bug of `normalize_all` in `ml-100k.yaml` ([1294](https://github.com/RUCAIBox/RecBole/issues/1294)).
- Fix the `gpu_id` format ([1402](https://github.com/RUCAIBox/RecBole/issues/1402)).
- Typo:
- Fix typo of `ValueError` in `dataset._get_download_url` ([1190](https://github.com/RUCAIBox/RecBole/pull/1190)).

Code Refactor

- Refractor the negative sampling: use `train_neg_sample_args(dict)` instead of `neg_sampling(dict)` ([1343](https://github.com/RUCAIBox/RecBole/pull/1343)).
- Refractor the log: (1) add hash config and rename log file ([1341](https://github.com/RUCAIBox/RecBole/pull/1341)). (2) add model and dataset name to log file ([#1381](https://github.com/RUCAIBox/RecBole/pull/1381)).
- Refractor the test process: add tests for hyper-tuning ([1361](https://github.com/RUCAIBox/RecBole/pull/1361)).
- Refractor the `configurator`: add warning for old parameter ([1367](https://github.com/RUCAIBox/RecBole/pull/1367)).
- Refractor the popularity sampling: add alpha parameter for popularity sampling distribution ([1382](https://github.com/RUCAIBox/RecBole/pull/1382)).
- Refractor the `FPMC`: add CE and BPR loss to FPMC ([1383](https://github.com/RUCAIBox/RecBole/pull/1383)).
- Refractor the `run_hyper`: add display parameter for run_hyper ([1385](https://github.com/RUCAIBox/RecBole/issues/1385)).

Docs

- Add supplementary description of DMF ([1194](https://github.com/RUCAIBox/RecBole/pull/1194)).

- Fix the authors for SR-GNN in docs ([1204](https://github.com/RUCAIBox/RecBole/pull/1204)).

- Add sequential, context and knowledge quick start ([1351](https://github.com/RUCAIBox/RecBole/pull/1351)).

- Fix docstring warning when making html files ([1353](https://github.com/RUCAIBox/RecBole/pull/1353)).

- Fix some documentation typo ([1359](https://github.com/RUCAIBox/RecBole/pull/1359)).

- Add docs for Distributed DataParallell ([1362](https://github.com/RUCAIBox/RecBole/pull/1362)).

- Insert `eval_collector.data_collect` when evaluate from checkpoint ([1364](https://github.com/RUCAIBox/RecBole/pull/1364)).

- Modify `neg_sampling` into `train_neg_sample_args` in sequential docs ([1365](https://github.com/RUCAIBox/RecBole/pull/1365)).

- Update open source contributions, model list and add constraints for purpose in README ([1371](https://github.com/RUCAIBox/RecBole/pull/1371), [#1457](https://github.com/RUCAIBox/RecBole/pull/1457)).

- Fix warnings in docs and modify configuration ([1373](https://github.com/RUCAIBox/RecBole/pull/1373)).

- Rename `neg_sampling` to `train_neg_sample_args` ([1383](https://github.com/RUCAIBox/RecBole/pull/1383)).

- Fix description of mixed precision training and Ray ([1407](https://github.com/RUCAIBox/RecBole/pull/1407)).

1.0.1

After nearly half a year, we summarized the recent updates and released a new version: RecBole v1.0.1!

In this version, we widely listen to users' feedbacks and suggestions to enhance the usability and stability of RecBole. With the collaboration of our teams and open source contributors, several wonderful features are added. According to the issues and discussions, we also fix some bugs and update the [documentation](https://recbole.io/docs/) for better user experience.

In a nutshell, RecBole v1.0.1 is more reliable, powerful and user-friendly than previous versions. More details will be introduced in the following part:

* Highlights
* New Features
* Bug Fixes
* Code Refactor
* Docs

Highlights

The RecBole v1.0.1 release includes a number of wonderful new features, some bug fixes and code refactor. A few of the highlights include:

1. We add 5 new models into RecBole.
2. We simplify the evaluator and now it's easier to implement a new metric by a class.
3. We refractor the sampling module and support both static and dynamic negative sampling.
4. Now you can log metrics to [Weights and Biases](https://wandb.ai/site) for better visualization and comparison.

New Features

- Add 5 new models:
- General recommendation (3): SGL (1004), NCEPLRec (1154) and ADMMSLIM (1148).
- Sequential recommendation (2): LightSANs (992) and SINE (1142).
- We add Dynamic Negative Sampling (DNS) in `neg_sampling` (1006).
- We add `require_pow` in `EmbLoss` (1091).
- We update the path of logging files to categorize experimental results by model names (1102).
- We support visualization by Weights and Biases (1138).

Bug Fixes

- Model:
- Fix a bug in LightGBM model: `load_model` is unsupported by `Booster` and replaced by `self.lgb.Booster` (943).
- Fix bugs in LightGBM and XGBoost models: update the saved model file (973).
- Fix a bug in ENMF: use batch user instead of all users for loss calculation (1002).
- Fix a bug in LightGCN: update the regularization loss with `require_pow=True` (1091).
- Fix a bug in BERT4Rec: fix `gather_indexes` of `seq_output` (1115).
- Fix a bug in `layer.py`: use `nn.ModuleDict` in embedding layer of `ContextSeqEmbAbstractLayer` (1129).
- Dataset:
- Fix the default setting of `encoding` for reading atomic files (966).
- Fix `_del_col` in `dataset.py` to avoid incorrect deletion (1066).
- Trainer:
- Fix memory leakage bugs while using `tqdm` (949).
- Fix `self.saved_model_file` in `resume_checkpoint` (1021).
- Fix `other_parameter` in `save_pretrained_model` (1115).
- Sampler:
- Fix the bug when pop sampling in `sampler.py` (948).
- Fix `user_ids` and `item_ids` while negative sampling in `abstract_dataloader.py` (1025).
- Evaluator:
- Fix `used_info`: return `topk_idx` instead of `rec_mat` (1019).
- Case Study:
- Fix the index of `uid_field` in `test_data` (977).
- Fix `history_item` with `list(uid_series)` in `full_sort_scores` (986).
- Fix `dataset.inter_feat[uid_field]` (1083).
- Typo:
- Fix typo of warning in repeatable recommendation (941).
- Fix typo of mind-small-train when atomatic downloading (1000).


Code Refactor

- Refractor the `Trainer`: add `PretrainTrainer` and simplify `RecVAETrainer` (944).
- Refractor the `Dataloader`: remove `DataloaderType` (944).
- Refractor the negative sampling: use `neg_sampling (dict)` instead of `training_neg_sample` (944).
- Refractor the evaluator and config: easier to implement a new metric by a class (947).
- Refractor the `Dataset`: add `Dataset.fields` to source (953).
- Refractor the squeeze function: fix all bugs in squeeze function (1025).


Docs

- Fix the format of docs in training and evaluation settings (942).
- Update `customize_dataloaders.rst` and change `train_eval_intro` into `evaluation_support` (944).
- Update `customize_metrics.rst` to customize a new metric easily (947).
- Update `parameter_dict` with `neg_sampling` in docs of sequential models (956).
- Add `encoding (str)` in `environment_settings.rst` (966).
- Fix the required lowest Python version from 3.6 to 3.7 (1030).
- Fix model initialization in `use_modules.rst` (1039, 1072, 1101).
- Update description of `normalize_all` in `data_settings.rst` (1063, 1064).

1.0.0

After a long period of development, we finally finished the refactor of RecBole and released a new version: RecBole v1.0.0!

In this version, we widely listen to users' suggestions and carefully consider their needs. After many discussions with our teams, we re-designed the framework of RecBole.

In this time, we pay more attention to the users' experience and customize development. We simplify the config module, data module and evaluation module to improve the convenience of usage and the code readability, and some fascinating features are also added. According to the issues, we also fix some bugs and now RecBole is more reliable. You may find RecBole v1.0.0 changes a lot compared with the previous versions when you use it, but don't worry, we also update the [docs](https://recbole.io/docs/) for new version, which have more usage examples and become more user-friendly.

All in all, RecBole v1.0.0 must be the most powerful, wonderful and reliable version by far. We hope you will like it!

More details will be introduced in the following part:

* Highlights
* New Features
* Bug Fixes
* Code Refactor
* Docs

Highlights

The RecBole v1.0.0 release includes a number of wonderful new features, some bug fixes and code refactor. A few of the highlights include:

1. We simplify the config settings and now it's much easier to set config.
2. We add the automatically dataset downloading module. An initialization of a Dataset object will automatically download its processed atomic files (for datasets we have collected)
3. We support the [Tensorboard](https://www.tensorflow.org/tensorboard) in model training and now you can get more visualizing information.
4. We add 5 new evaluation metrics: [``ItemCoverage``, ``AveragePopularity``, ``GiniIndex``, ``ShannonEntropy`` and ``TailPercentage``].
5. The API Docs have been re-worked in this release to make them more consistent and updated to the latest code base, and in this time we add more usage examples to make it more user-friendly.
6. Now you can save the `Dataset` and `Dataloader` automatically.

New Features

* Add automatically dataset downloading module (851)
* Add 5 new evaluation metrics: [``ItemCoverage``, ``AveragePopularity``, ``GiniIndex``, ``ShannonEntropy`` and ``TailPercentage``] (865, 867, 869).
* Support the `split_by_ratio` for sequential recommendation models (873).
* Support the Tensorboard in RecBole and remove the `draw_loss_pic` (875).
* Add example for running session-based recommendation benchmarks (885)
* Support behavior sequence benchmark loading (885)
* Add more methods for leave-one-out split. Now you can split the dataset into [train, test] or [train, valid] with leave-one-out split (890).
* Add GPU usage in logger (906).
* Support repeatable recommendation scene for non-sequential recommendation models (909).
* Add early stopping in XGBoost and LightGBM (928).
* We improve the save and load function in `Dataset` and `Dataloader`, and now you can save the `Dataset` and `Dataloader` automatically. (939)

Bug Fixes

* Fix the bugs in Auto-Encoder models (798).
* Fix the bugs in XGBoost and LightGBM (922).
* Fix the bugs in xDeepFM (937).

Code Refactor

* Refactor the evaluation config module (862)
* Refactor the `remap_ID` in `Dataset` (868)
* Refactor the `SequentialDataset` (873)
* Refactor the `Dataloader` (873, 876).
* Refactor the evaluation module (894).
* Refactor the sampler module (903).

Docs

* Update the docs, and add more usage examples (918, 920, 940).
* Update the time_test docs (919)

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.