From 981eb8eaa7cf52a84612a4d235647c483ef1d5ad Mon Sep 17 00:00:00 2001 From: David <1282675518@qq.com> Date: Wed, 1 Nov 2023 20:08:50 +0800 Subject: [PATCH 1/5] update version info --- README.md | 20 ++++++----- README_CN.md | 33 ++++++++++--------- conda/conda_release.sh | 4 +++ conda/meta.yaml | 18 ++++++---- docs/source/conf.py | 2 +- docs/source/index.rst | 2 +- recbole/__init__.py | 2 +- recbole/model/general_recommender/ldiffrec.py | 2 +- recbole/quick_start/quick_start.py | 5 ++- requirements.txt | 9 ++--- setup.py | 8 +++-- 11 files changed, 61 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index d5b6f23bd..be2357de8 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,8 @@ for testing and comparing recommendation algorithms. ## RecBole News +![new](/asset/new.gif) **11/01/2023**: We release RecBole [v1.2.0](https://github.com/RUCAIBox/RecBole/releases/tag/v1.2.0). + ![new](/asset/new.gif) **11/06/2022**: We release [the optimal hyperparameters of the model and their tuning ranges](https://recbole.io/hyperparameters/index.html). ![new](/asset/new.gif) **10/05/2022**: We release RecBole [v1.1.1](https://github.com/RUCAIBox/RecBole/releases/tag/v1.1.1). @@ -247,6 +249,7 @@ We will keep improving our implementations, and update these test results. ## RecBole Major Releases | Releases | Date | |----------|------------| +| v1.2.0 | 11/01/2023 | | v1.1.1 | 10/05/2022 | | v1.0.0 | 09/17/2021 | | v0.2.0 | 01/15/2021 | @@ -290,7 +293,7 @@ We thank the nice contributions through PRs from [@rowedenny](https://github.com ## Cite -If you find RecBole useful for your research or development, please cite the following papers: [RecBole[1.0]](https://arxiv.org/abs/2011.01731), [RecBole[2.0]](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) and [RecBole[1.1.1]](https://arxiv.org/abs/2211.15148). +If you find RecBole useful for your research or development, please cite the following papers: [RecBole[1.0]](https://arxiv.org/abs/2011.01731), [RecBole[2.0]](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) and [RecBole[1.2.0]](https://dl.acm.org/doi/10.1145/3539618.3591889). ```bibtex @inproceedings{recbole[1.0], @@ -308,11 +311,11 @@ If you find RecBole useful for your research or development, please cite the fol pages={4722--4726}, year={2022} } -@misc{recbole[1.1.1], - author = {Xu, Lanling and Tian, Zhen and Zhang, Gaowei and Wang, Lei and Zhang, Junjie and Zheng, Bowen and Li, Yifan and Hou, Yupeng and Pan, Xingyu and Chen, Yushuo and Zhao, Wayne Xin and Chen, Xu and Wen, Ji-Rong}, - title = {Recent Advances in RecBole: Extensions with more Practical Considerations}, - journal = {arXiv preprint arXiv:2211.15148}, - year = {2022} +@inproceedings{recbole[1.2.0], +author = {Xu, Lanling and Tian, Zhen and Zhang, Gaowei and Zhang, Junjie and Wang, Lei and Zheng, Bowen and Li, Yifan and Tang, Jiakai and Zhang, Zeyu and Hou, Yupeng and Pan, Xingyu and Zhao, Wayne Xin and Chen, Xu and Wen, Ji-Rong}, +title = {Towards a More User-Friendly and Easy-to-Use Benchmark Library for Recommender Systems}, +pages = {2837–2847}, +year = {2023} } ``` @@ -326,8 +329,9 @@ Here is the list of our lead developers in each development phase. They are the | Time | Version | Lead Developers | Paper | | :-------------------: | :--------------------: | :--------------------------------------------: | ---------------------------------------------- | | June 2020
~
Nov. 2020 | v0.1.1 | Shanlei Mu ([@ShanleiMu](https://github.com/ShanleiMu)), Yupeng Hou ([@hyp1231](https://github.com/hyp1231)),
Zihan Lin ([@linzihan-backforward](https://github.com/linzihan-backforward)), Kaiyuan Li ([@tsotfsk](https://github.com/tsotfsk))| [PDF](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) | -| Nov. 2020
~
Oct. 2022 | v0.1.2 ~ v1.0.1 | Yushuo Chen ([@chenyushuo](https://github.com/chenyushuo)), Xingyu Pan ([@2017pxy](https://github.com/2017pxy)) | [PDF](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) | -| Oct. 2022
~
now | v1.1.0 ~ v1.1.1 | Lanling Xu ([@Sherry-XLL](https://github.com/Sherry-XLL)), Zhen Tian ([@chenyuwuxin](https://github.com/chenyuwuxin)), Gaowei Zhang ([@Wicknight](https://github.com/Wicknight)), Lei Wang ([@Paitesanshi](https://github.com/Paitesanshi)), Junjie Zhang ([@leoleojie](https://github.com/leoleojie)) | [PDF](https://arxiv.org/abs/2211.15148) | +| Nov. 2020
~
Jul. 2022 | v0.1.2 ~ v1.0.1 | Yushuo Chen ([@chenyushuo](https://github.com/chenyushuo)), Xingyu Pan ([@2017pxy](https://github.com/2017pxy)) | [PDF](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) | +| Jul. 2022
~
Nov. 2023 | v1.1.0 ~ v1.1.1 | Lanling Xu ([@Sherry-XLL](https://github.com/Sherry-XLL)), Zhen Tian ([@chenyuwuxin](https://github.com/chenyuwuxin)), Gaowei Zhang ([@Wicknight](https://github.com/Wicknight)), Lei Wang ([@Paitesanshi](https://github.com/Paitesanshi)), Junjie Zhang ([@leoleojie](https://github.com/leoleojie)) | [PDF](https://dl.acm.org/doi/10.1145/3539618.3591889) | +| Nov. 2023
~
now | v1.2.0 | Bowen Zheng ([@zhengbw0324](https://github.com/zhengbw0324)), Chen Ma ([@Yilu114](https://github.com/Yilu114)) | [PDF](https://dl.acm.org/doi/10.1145/3539618.3591889) | ## License diff --git a/README_CN.md b/README_CN.md index 9e59a4a16..2e2dd8a75 100644 --- a/README_CN.md +++ b/README_CN.md @@ -54,6 +54,8 @@ RecBole 是一个基于 PyTorch 实现的,面向研究者的,易于开发与 ## RecBole 新闻 +![new](/asset/new.gif) **11/01/2023**: 我们发布了 [v1.2.0](https://github.com/RUCAIBox/RecBole/releases/tag/v1.2.0). + ![new](/asset/new.gif) **11/06/2022**: 我们公开了[模型的最优超参数及其调参范围](https://recbole.io/hyperparameters/index.html). ![new](/asset/new.gif) **10/05/2022**: 我们发布了 [v1.1.1](https://github.com/RUCAIBox/RecBole/releases/tag/v1.1.1). @@ -217,12 +219,13 @@ NOTE: 我们的测试结果只给出了RecBole库中实现模型的大致时间 ## RecBole 重要发布 -| Releases | Date | -|-----------|--------| -| v1.1.1 | 10/05/2022 | -| v1.0.0 | 09/17/2021 | -| v0.2.0 | 01/15/2021 | -| v0.1.1 | 11/03/2020 | +| Releases | Date | +|----------|------------| +| v1.2.0 | 11/01/2023 | +| v1.1.1 | 10/05/2022 | +| v1.0.0 | 09/17/2021 | +| v0.2.0 | 01/15/2021 | +| v0.1.1 | 11/03/2020 | ## 开源贡献 @@ -262,7 +265,7 @@ NOTE: 我们的测试结果只给出了RecBole库中实现模型的大致时间 ## 引用 -如果你觉得 RecBole 对你的科研工作有帮助,请引用我们的论文:[RecBole[1.0]](https://arxiv.org/abs/2011.01731),[RecBole[2.0]](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) 和 [RecBole[1.1.1]](https://arxiv.org/abs/2211.15148)。 +如果你觉得 RecBole 对你的科研工作有帮助,请引用我们的论文:[RecBole[1.0]](https://arxiv.org/abs/2011.01731),[RecBole[2.0]](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) 和 [RecBole[1.2.0]](https://dl.acm.org/doi/10.1145/3539618.3591889)。 ```bibtex @inproceedings{recbole[1.0], @@ -280,11 +283,11 @@ NOTE: 我们的测试结果只给出了RecBole库中实现模型的大致时间 pages={4722--4726}, year={2022} } -@misc{recbole[1.1.1], - author = {Xu, Lanling and Tian, Zhen and Zhang, Gaowei and Wang, Lei and Zhang, Junjie and Zheng, Bowen and Li, Yifan and Hou, Yupeng and Pan, Xingyu and Chen, Yushuo and Zhao, Wayne Xin and Chen, Xu and Wen, Ji-Rong}, - title = {Recent Advances in RecBole: Extensions with more Practical Considerations}, - journal = {arXiv preprint arXiv:2211.15148}, - year = {2022} +@inproceedings{recbole[1.2.0], +author = {Xu, Lanling and Tian, Zhen and Zhang, Gaowei and Zhang, Junjie and Wang, Lei and Zheng, Bowen and Li, Yifan and Tang, Jiakai and Zhang, Zeyu and Hou, Yupeng and Pan, Xingyu and Zhao, Wayne Xin and Chen, Xu and Wen, Ji-Rong}, +title = {Towards a More User-Friendly and Easy-to-Use Benchmark Library for Recommender Systems}, +pages = {2837–2847}, +year = {2023} } ``` @@ -297,9 +300,9 @@ RecBole由 [中国人民大学, 北京邮电大学, 华东师范大学](https:// | 时间段 | 版本 | 首席开发者 | 论文 | | :-------------------: | :--------------------: | :--------------------------------------------: | ---------------------------------------------- | | 2020年6月
~
2020年11月 | v0.1.1 | 牟善磊 ([@ShanleiMu](https://github.com/ShanleiMu)), 侯宇蓬 ([@hyp1231](https://github.com/@hyp1231)),
林子涵 ([@linzihan-backforward](https://github.com/linzihan-backforward)), 李凯元 ([@tsotfsk](https://github.com/tsotfsk))| [PDF](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) | -| 2020年11月
~
2022年10月 | v0.1.2 ~ v1.0.1 | 陈昱硕 ([@chenyushuo](https://github.com/https://github.com/chenyushuo)), 潘星宇 ([@2017pxy](https://github.com/2017pxy)) | [PDF](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) | -| 2022年10月
~
现在 | v1.1.0 ~ v1.1.1 | 徐澜玲 ([@Sherry-XLL](https://github.com/Sherry-XLL)), 田震 ([@chenyuwuxin](https://github.com/chenyuwuxin)), 张高玮 ([@Wicknight](https://github.com/Wicknight)), 王磊 ([@Paitesanshi](https://github.com/Paitesanshi)), 张君杰 ([@leoleojie](https://github.com/leoleojie)) | [PDF](https://arxiv.org/abs/2211.15148) | - +| 2020年11月
~
2022年7月 | v0.1.2 ~ v1.0.1 | 陈昱硕 ([@chenyushuo](https://github.com/https://github.com/chenyushuo)), 潘星宇 ([@2017pxy](https://github.com/2017pxy)) | [PDF](https://dl.acm.org/doi/abs/10.1145/3459637.3482016) | +| 2022年7月
~
2023年11月 | v1.1.0 ~ v1.1.1 | 徐澜玲 ([@Sherry-XLL](https://github.com/Sherry-XLL)), 田震 ([@chenyuwuxin](https://github.com/chenyuwuxin)), 张高玮 ([@Wicknight](https://github.com/Wicknight)), 王磊 ([@Paitesanshi](https://github.com/Paitesanshi)), 张君杰 ([@leoleojie](https://github.com/leoleojie)) | [PDF](https://dl.acm.org/doi/10.1145/3539618.3591889) | +| 2023年11月
~
现在 | v1.2.0 | 郑博文 ([@zhengbw0324](https://github.com/zhengbw0324)), 马辰 ([@Yilu114](https://github.com/Yilu114)) | [PDF](https://dl.acm.org/doi/10.1145/3539618.3591889) | ## 免责声明 RecBole 基于 [MIT License](./LICENSE) 进行开发,本项目的所有数据和代码只能被用于学术目的。 diff --git a/conda/conda_release.sh b/conda/conda_release.sh index e43ec3795..5bdce498a 100644 --- a/conda/conda_release.sh +++ b/conda/conda_release.sh @@ -6,3 +6,7 @@ conda-build --python 3.8 . printf "python 3.8 version is released \n" conda-build --python 3.9 . printf "python 3.9 version is released \n" +conda-build --python 3.10 . +printf "python 3.10 version is released \n" +conda-build --python 3.11 . +printf "python 3.11 version is released \n" diff --git a/conda/meta.yaml b/conda/meta.yaml index 775c2a3ad..c4a924807 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -1,6 +1,6 @@ package: name: recbole - version: 1.1.1 + version: 1.2.0 source: path: ../ @@ -12,30 +12,34 @@ requirements: - python - numpy >=1.17.2 - scipy >=1.6.0 - - pandas >=1.0.5 + - pandas >=1.3.0 - tqdm >=4.48.2 - pyyaml >=5.1.0 - scikit-learn >=0.23.2 - pytorch >=1.10.0 - - colorlog==4.7.2 - - colorama==0.4.4 + - colorlog >=4.7.2 + - colorama >=0.4.4 - tensorboard >=2.5.0 - tabulate >=0.8.10 - plotly >=4.0.0 + - texttable >=0.9.0 + - psutil >=5.9.0 run: - python - numpy >=1.17.2 - scipy >=1.6.0 - - pandas >=1.0.5 + - pandas >=1.3.0 - tqdm >=4.48.2 - pyyaml >=5.1.0 - scikit-learn >=0.23.2 - pytorch >=1.10.0 - - colorlog==4.7.2 - - colorama==0.4.4 + - colorlog >=4.7.2 + - colorama >=0.4.4 - tensorboard >=2.5.0 - tabulate >=0.8.10 - plotly >=4.0.0 + - texttable >=0.9.0 + - psutil >=5.9.0 test: imports: - recbole diff --git a/docs/source/conf.py b/docs/source/conf.py index b79663e78..5a0cbd939 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,7 +24,7 @@ author = "AIBox RecBole group" # The full version, including alpha/beta/rc tags -release = "1.1.1" +release = "1.2.0" # -- General configuration --------------------------------------------------- diff --git a/docs/source/index.rst b/docs/source/index.rst index 4424279ce..2d24cd677 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,5 +1,5 @@ .. RecBole documentation master file. -.. title:: RecBole v1.1.1 +.. title:: RecBole v1.2.0 .. image:: asset/logo.png ========================================================= diff --git a/recbole/__init__.py b/recbole/__init__.py index 1fbf06a92..3db1db304 100644 --- a/recbole/__init__.py +++ b/recbole/__init__.py @@ -2,4 +2,4 @@ from __future__ import print_function from __future__ import division -__version__ = "1.1.1" +__version__ = "1.2.0" diff --git a/recbole/model/general_recommender/ldiffrec.py b/recbole/model/general_recommender/ldiffrec.py index c9b41e2e3..a32e6e8f2 100644 --- a/recbole/model/general_recommender/ldiffrec.py +++ b/recbole/model/general_recommender/ldiffrec.py @@ -26,7 +26,6 @@ ModelMeanType, mean_flat, ) -from kmeans_pytorch import kmeans class AutoEncoder(nn.Module): @@ -68,6 +67,7 @@ def __init__( ) else: + from kmeans_pytorch import kmeans self.cluster_ids, _ = kmeans( X=item_emb, num_clusters=n_cate, distance="euclidean", device=device ) diff --git a/recbole/quick_start/quick_start.py b/recbole/quick_start/quick_start.py index 43cd0fe37..4484896f3 100644 --- a/recbole/quick_start/quick_start.py +++ b/recbole/quick_start/quick_start.py @@ -17,8 +17,6 @@ from collections.abc import MutableMapping from logging import getLogger -from ray import tune - from recbole.config import Config from recbole.data import ( create_dataset, @@ -219,7 +217,8 @@ def objective_function(config_dict=None, config_file_list=None, saved=True): train_data, valid_data, verbose=False, saved=saved ) test_result = trainer.evaluate(test_data, load_best_model=saved) - + + from ray import tune tune.report(**test_result) return { "model": model_name, diff --git a/requirements.txt b/requirements.txt index ade8cf9fc..47de39c0e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,15 +2,16 @@ torch>=1.10.0 numpy>=1.17.2 scipy>=1.6.0 hyperopt==0.2.5 -pandas>=1.4.0 +pandas>=1.3.0 tqdm>=4.48.2 scikit_learn>=0.23.2 pyyaml>=5.1.0 -colorlog==4.7.2 -colorama==0.4.4 +colorlog>=4.7.2 +colorama>=0.4.4 tensorboard>=2.5.0 thop>=0.1.1.post2207130030 ray>=1.13.0, <=2.6.3 tabulate>=0.8.10 plotly>=4.0.0 -texttable>=0.9.0 \ No newline at end of file +texttable>=0.9.0 +psutil>=5.9.0 \ No newline at end of file diff --git a/setup.py b/setup.py index 9db84d5ad..15c83efb3 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ "torch>=1.10.0", "numpy>=1.17.2", "scipy>=1.6.0", - "pandas>=1.0.5", + "pandas>=1.3.0", "tqdm>=4.48.2", "colorlog==4.7.2", "colorama==0.4.4", @@ -20,11 +20,13 @@ "thop>=0.1.1.post2207130030", "tabulate>=0.8.10", "plotly>=4.0.0", + "texttable>=0.9.0", + "psutil>=5.9.0", ] setup_requires = [] -extras_require = {"hyperopt": ["hyperopt==0.2.5"], "ray": ["ray>=1.13.0"]} +extras_require = {"hyperopt": ["hyperopt==0.2.5"], "ray": ["ray>=1.13.0, <=2.6.3"]} classifiers = ["License :: OSI Approved :: MIT License"] @@ -48,7 +50,7 @@ setup( name="recbole", - version="1.1.1", # please remember to edit recbole/__init__.py in response, once updating the version + version="1.2.0", # please remember to edit recbole/__init__.py in response, once updating the version description="A unified, comprehensive and efficient recommendation library", long_description=long_description, long_description_content_type="text/markdown", From 19000144e5e0c902ffadfce851fbd6a7419367b8 Mon Sep 17 00:00:00 2001 From: BishopLiu Date: Wed, 1 Nov 2023 12:09:28 +0000 Subject: [PATCH 2/5] Format Python code according to PEP8 --- recbole/model/general_recommender/ldiffrec.py | 1 + recbole/quick_start/quick_start.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/recbole/model/general_recommender/ldiffrec.py b/recbole/model/general_recommender/ldiffrec.py index a32e6e8f2..7d8364f0b 100644 --- a/recbole/model/general_recommender/ldiffrec.py +++ b/recbole/model/general_recommender/ldiffrec.py @@ -68,6 +68,7 @@ def __init__( else: from kmeans_pytorch import kmeans + self.cluster_ids, _ = kmeans( X=item_emb, num_clusters=n_cate, distance="euclidean", device=device ) diff --git a/recbole/quick_start/quick_start.py b/recbole/quick_start/quick_start.py index 4484896f3..306a4445c 100644 --- a/recbole/quick_start/quick_start.py +++ b/recbole/quick_start/quick_start.py @@ -217,8 +217,9 @@ def objective_function(config_dict=None, config_file_list=None, saved=True): train_data, valid_data, verbose=False, saved=saved ) test_result = trainer.evaluate(test_data, load_best_model=saved) - + from ray import tune + tune.report(**test_result) return { "model": model_name, From eb7441560e06c9e633c714b1f1fffe9e4d512bda Mon Sep 17 00:00:00 2001 From: David <1282675518@qq.com> Date: Wed, 1 Nov 2023 22:11:54 +0800 Subject: [PATCH 3/5] update setup.py and meta.yaml --- conda/meta.yaml | 2 ++ recbole/quick_start/quick_start.py | 3 ++- setup.py | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index c4a924807..aec3b679e 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -24,6 +24,7 @@ requirements: - plotly >=4.0.0 - texttable >=0.9.0 - psutil >=5.9.0 + - ray-tune >=1.6.0 run: - python - numpy >=1.17.2 @@ -40,6 +41,7 @@ requirements: - plotly >=4.0.0 - texttable >=0.9.0 - psutil >=5.9.0 + - ray-tune >=1.6.0 test: imports: - recbole diff --git a/recbole/quick_start/quick_start.py b/recbole/quick_start/quick_start.py index 4484896f3..e852db5a1 100644 --- a/recbole/quick_start/quick_start.py +++ b/recbole/quick_start/quick_start.py @@ -17,6 +17,8 @@ from collections.abc import MutableMapping from logging import getLogger +from ray import tune + from recbole.config import Config from recbole.data import ( create_dataset, @@ -218,7 +220,6 @@ def objective_function(config_dict=None, config_file_list=None, saved=True): ) test_result = trainer.evaluate(test_data, load_best_model=saved) - from ray import tune tune.report(**test_result) return { "model": model_name, diff --git a/setup.py b/setup.py index 15c83efb3..ad13e7235 100644 --- a/setup.py +++ b/setup.py @@ -22,11 +22,12 @@ "plotly>=4.0.0", "texttable>=0.9.0", "psutil>=5.9.0", + "ray>=1.13.0, <=2.6.3", ] setup_requires = [] -extras_require = {"hyperopt": ["hyperopt==0.2.5"], "ray": ["ray>=1.13.0, <=2.6.3"]} +extras_require = {"hyperopt": ["hyperopt==0.2.5"]} classifiers = ["License :: OSI Approved :: MIT License"] From 899cca8b444a3ce07f262f69796766a4fc32a779 Mon Sep 17 00:00:00 2001 From: BishopLiu Date: Wed, 1 Nov 2023 14:16:13 +0000 Subject: [PATCH 4/5] Format Python code according to PEP8 --- recbole/quick_start/quick_start.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recbole/quick_start/quick_start.py b/recbole/quick_start/quick_start.py index e852db5a1..43cd0fe37 100644 --- a/recbole/quick_start/quick_start.py +++ b/recbole/quick_start/quick_start.py @@ -219,7 +219,7 @@ def objective_function(config_dict=None, config_file_list=None, saved=True): train_data, valid_data, verbose=False, saved=saved ) test_result = trainer.evaluate(test_data, load_best_model=saved) - + tune.report(**test_result) return { "model": model_name, From 8066693a01e7a7ec0e52e7273456f27cdca6a49d Mon Sep 17 00:00:00 2001 From: David <1282675518@qq.com> Date: Wed, 1 Nov 2023 23:59:40 +0800 Subject: [PATCH 5/5] delete python3.11 release --- conda/conda_release.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/conda/conda_release.sh b/conda/conda_release.sh index 5bdce498a..fdb7aff37 100644 --- a/conda/conda_release.sh +++ b/conda/conda_release.sh @@ -8,5 +8,3 @@ conda-build --python 3.9 . printf "python 3.9 version is released \n" conda-build --python 3.10 . printf "python 3.10 version is released \n" -conda-build --python 3.11 . -printf "python 3.11 version is released \n"