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..fdb7aff37 100644 --- a/conda/conda_release.sh +++ b/conda/conda_release.sh @@ -6,3 +6,5 @@ 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" diff --git a/conda/meta.yaml b/conda/meta.yaml index 775c2a3ad..aec3b679e 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,36 @@ 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 + - ray-tune >=1.6.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 + - ray-tune >=1.6.0 test: imports: - recbole 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..7d8364f0b 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,8 @@ 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/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..ad13e7235 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,14 @@ "thop>=0.1.1.post2207130030", "tabulate>=0.8.10", "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"]} +extras_require = {"hyperopt": ["hyperopt==0.2.5"]} classifiers = ["License :: OSI Approved :: MIT License"] @@ -48,7 +51,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",