Recbole

Latest version: v1.2.0

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

Scan your dependencies

Page 1 of 2

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)

0.2.1

* Highlights
* New Features
* Bug Fixes
* Code Refactor

Highlights

The RecBole v0.2.1 release includes a number of wonderful new features, some bug fixes and code refactor. In this version, we pay more attention to improving user experience. A few of the highlights include:

1. We add 7 new models into RecBole.
2. We add colors to logger and now RecBole is "colorful".
3. `Dataset` and `Dataloader` can be saved now, which makes RecBole much more flexible.
4. Now you can get training loss line graph of models by set `draw_loss_pic` .

New Features

* Add 7 new models:
* General recommendation(6) : EASE(609), RaCT(732), RecVAE(727), NNCF(713), ENMF(643), SLIMElastic(621)
* External algorithm lib model(1) : LightGBM (685)
* We add color to logger info, which makes logger much more clear (761)
* We add `plot_train_loss()` in trainer, and now user can get training loss line graph of model(724)
* We add `dataset.save()` and `save_split_dataloader()`, and now users can save pre_processed dataset or pre_processed dataloaders and reload them for other models training. (760)
* We add other parameters (including model parameters) output in logger (725)
* We add example code of case study and save/load in `run_example/` (774)
* We add `docs/` into RecBole (735)

Bug Fixes

* Fix a datatype bug in Windows, which may cause runtime error when run sequential models in Windows platform(710)

* Fix a bug in `general_dataloader`, which may cause runtime error when `ContextFullDataLoader` is empty (723)

Code Refactor

* Refactor the `eval_setting.py` (743)
* Refactor the `data_preparation` (751)

0.2.0

* Highlights
* New Features
* Improvements
* Bug Fixes

Highlights

The RecBole v0.2.0 release includes a number of new features, model efficiency improvements and bug fixes. A few of the highlights include:

1. We add 12 new models into RecBole, including several **non-sampling models** and an external algorithm lib model: **XGBoost**.
2. **Case study** is added to RecBole, which is helpful for users to analyze the model result (e.g: give an item ID and a user ID and get the score and ranking position of the item).
3. We improve the efficiency of data loading and negative sampling.
4. We now support the full ranking evaluation for context-aware recommendation models.

New Features

* Add 12 new models:
* Sequential recommendation(6) : RepeatNet(\584), Fossil(\580), HGN(575), SHAN(573), NPE(573),HRM(573)
* General recommendation(5) : CDAE(642), MacridVAE(637), MultiVAE(626), MultiDAE(626), LINE(\591)
* External algorithm lib model(1) : XGBoost(\557)
* ``training_neg_sample_num`` of pairwise_loss model now can be greater than `1` (533).
* We add `training_neg_sample_distribution` in config setting to choose the negative sampling strategy during training (534).
* We add `benchmark_filename` in config setting to load pre-split dataset (\596).
* Progress bar is added for training and evaluating (\618).
* We add `loss_decimal_place` and `metric_decimal_place` in config setting to control decimal place of loss and metric results separately (625).
* We add `GAUC` metric into evaluation (reference: [Deep Interest Network for Click-Through Rate Prediction](https://arxiv.org/abs/1706.06978), KDD 2018) (#572).
* We add `unused_col` in config setting to drop the columns only used in data preparation but not used in model (559).

Improvements

* We support the ranking evaluation for context-aware recommendation models (503).
* We improve the efficiency of data loading and negative sampling (559).
* We remove the `pre_neg_sampling` in Dataloader, which is helpless to model training (559).
* We improve the underlying data structure of RecBole, which can promote efficiency of data processing (559).
* We refactor the evaluation code (572) and reformat the mode code (647).

Bug Fixes

Model

* Fix a bug in NeuMF model: this bug may cause `dropout_ratio` disable (629).
* Fix a bug in NGCF and GCMC model: now the sparse dropout is disable during evaluation in NGCF and GCMC (601).
* Fix a bug in DCN model: this bug may cause crash when running on CPU (633).
* Fix a bug in BERT4Rec model: this bug may cause crash when running on CPU (556).

Trainer

* Fix a bug in the `Trainer._generate_train_loss_output()`: this bug may cause the training log is missing (559).

Data

* Fix a bug in the sampler: this bug may cause runtime error (559)

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.