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)