nextrec 0.1.8__tar.gz → 0.1.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. {nextrec-0.1.8 → nextrec-0.1.11}/.gitignore +1 -0
  2. {nextrec-0.1.8 → nextrec-0.1.11}/PKG-INFO +13 -9
  3. {nextrec-0.1.8 → nextrec-0.1.11}/README.md +2 -3
  4. {nextrec-0.1.8 → nextrec-0.1.11}/README_zh.md +2 -3
  5. {nextrec-0.1.8 → nextrec-0.1.11}/docs/conf.py +1 -1
  6. nextrec-0.1.11/nextrec/__version__.py +1 -0
  7. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/model.py +5 -4
  8. {nextrec-0.1.8 → nextrec-0.1.11}/pyproject.toml +14 -7
  9. nextrec-0.1.8/nextrec/__version__.py +0 -1
  10. {nextrec-0.1.8 → nextrec-0.1.11}/.github/workflows/publish.yml +0 -0
  11. {nextrec-0.1.8 → nextrec-0.1.11}/.github/workflows/tests.yml +0 -0
  12. {nextrec-0.1.8 → nextrec-0.1.11}/.readthedocs.yaml +0 -0
  13. {nextrec-0.1.8 → nextrec-0.1.11}/CODE_OF_CONDUCT.md +0 -0
  14. {nextrec-0.1.8 → nextrec-0.1.11}/CONTRIBUTING.md +0 -0
  15. {nextrec-0.1.8 → nextrec-0.1.11}/LICENSE +0 -0
  16. {nextrec-0.1.8 → nextrec-0.1.11}/MANIFEST.in +0 -0
  17. {nextrec-0.1.8 → nextrec-0.1.11}/dataset/match_task.csv +0 -0
  18. {nextrec-0.1.8 → nextrec-0.1.11}/dataset/movielens_100k.csv +0 -0
  19. {nextrec-0.1.8 → nextrec-0.1.11}/dataset/multitask_task.csv +0 -0
  20. {nextrec-0.1.8 → nextrec-0.1.11}/dataset/ranking_task.csv +0 -0
  21. {nextrec-0.1.8 → nextrec-0.1.11}/docs/Makefile +0 -0
  22. {nextrec-0.1.8 → nextrec-0.1.11}/docs/index.rst +0 -0
  23. {nextrec-0.1.8 → nextrec-0.1.11}/docs/make.bat +0 -0
  24. {nextrec-0.1.8 → nextrec-0.1.11}/docs/modules.rst +0 -0
  25. {nextrec-0.1.8 → nextrec-0.1.11}/docs/nextrec.basic.rst +0 -0
  26. {nextrec-0.1.8 → nextrec-0.1.11}/docs/nextrec.data.rst +0 -0
  27. {nextrec-0.1.8 → nextrec-0.1.11}/docs/nextrec.loss.rst +0 -0
  28. {nextrec-0.1.8 → nextrec-0.1.11}/docs/nextrec.rst +0 -0
  29. {nextrec-0.1.8 → nextrec-0.1.11}/docs/nextrec.utils.rst +0 -0
  30. {nextrec-0.1.8 → nextrec-0.1.11}/docs/requirements.txt +0 -0
  31. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/__init__.py +0 -0
  32. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/__init__.py +0 -0
  33. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/activation.py +0 -0
  34. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/callback.py +0 -0
  35. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/dataloader.py +0 -0
  36. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/features.py +0 -0
  37. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/layers.py +0 -0
  38. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/loggers.py +0 -0
  39. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/basic/metrics.py +0 -0
  40. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/data/__init__.py +0 -0
  41. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/data/data_utils.py +0 -0
  42. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/data/preprocessor.py +0 -0
  43. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/loss/__init__.py +0 -0
  44. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/loss/loss_utils.py +0 -0
  45. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/loss/match_losses.py +0 -0
  46. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/generative/hstu.py +0 -0
  47. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/generative/tiger.py +0 -0
  48. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/match/__init__.py +0 -0
  49. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/match/dssm.py +0 -0
  50. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/match/dssm_v2.py +0 -0
  51. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/match/mind.py +0 -0
  52. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/match/sdm.py +0 -0
  53. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/match/youtube_dnn.py +0 -0
  54. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/multi_task/esmm.py +0 -0
  55. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/multi_task/mmoe.py +0 -0
  56. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/multi_task/ple.py +0 -0
  57. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/multi_task/share_bottom.py +0 -0
  58. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/__init__.py +0 -0
  59. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/afm.py +0 -0
  60. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/autoint.py +0 -0
  61. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/dcn.py +0 -0
  62. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/deepfm.py +0 -0
  63. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/dien.py +0 -0
  64. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/din.py +0 -0
  65. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/fibinet.py +0 -0
  66. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/fm.py +0 -0
  67. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/masknet.py +0 -0
  68. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/pnn.py +0 -0
  69. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/widedeep.py +0 -0
  70. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/models/ranking/xdeepfm.py +0 -0
  71. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/utils/__init__.py +0 -0
  72. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/utils/common.py +0 -0
  73. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/utils/embedding.py +0 -0
  74. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/utils/initializer.py +0 -0
  75. {nextrec-0.1.8 → nextrec-0.1.11}/nextrec/utils/optimizer.py +0 -0
  76. {nextrec-0.1.8 → nextrec-0.1.11}/pytest.ini +0 -0
  77. {nextrec-0.1.8 → nextrec-0.1.11}/requirements.txt +0 -0
  78. {nextrec-0.1.8 → nextrec-0.1.11}/test/__init__.py +0 -0
  79. {nextrec-0.1.8 → nextrec-0.1.11}/test/conftest.py +0 -0
  80. {nextrec-0.1.8 → nextrec-0.1.11}/test/run_tests.py +0 -0
  81. {nextrec-0.1.8 → nextrec-0.1.11}/test/test_data_preprocessor.py +0 -0
  82. {nextrec-0.1.8 → nextrec-0.1.11}/test/test_dataloader.py +0 -0
  83. {nextrec-0.1.8 → nextrec-0.1.11}/test/test_layers.py +0 -0
  84. {nextrec-0.1.8 → nextrec-0.1.11}/test/test_match_models.py +0 -0
  85. {nextrec-0.1.8 → nextrec-0.1.11}/test/test_multitask_models.py +0 -0
  86. {nextrec-0.1.8 → nextrec-0.1.11}/test/test_ranking_models.py +0 -0
  87. {nextrec-0.1.8 → nextrec-0.1.11}/test/test_utils.py +0 -0
  88. {nextrec-0.1.8 → nextrec-0.1.11}/test_requirements.txt +0 -0
  89. {nextrec-0.1.8 → nextrec-0.1.11}/tutorials/example_match_dssm.py +0 -0
  90. {nextrec-0.1.8 → nextrec-0.1.11}/tutorials/example_multitask.py +0 -0
  91. {nextrec-0.1.8 → nextrec-0.1.11}/tutorials/example_ranking_din.py +0 -0
  92. {nextrec-0.1.8 → nextrec-0.1.11}/tutorials/movielen_match_dssm.py +0 -0
  93. {nextrec-0.1.8 → nextrec-0.1.11}/tutorials/movielen_ranking_deepfm.py +0 -0
@@ -117,6 +117,7 @@ dmypy.json
117
117
  local_deepfm.py
118
118
  local_mmoe.py
119
119
  online_test.py
120
+ linux_train_tutorial.py
120
121
 
121
122
  # DataProcessor saved files
122
123
  processor/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextrec
3
- Version: 0.1.8
3
+ Version: 0.1.11
4
4
  Summary: A comprehensive recommendation library with match, ranking, and multi-task learning models
5
5
  Project-URL: Homepage, https://github.com/zerolovesea/NextRec
6
6
  Project-URL: Repository, https://github.com/zerolovesea/NextRec
@@ -19,21 +19,26 @@ Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
21
  Requires-Python: >=3.10
22
- Requires-Dist: numpy<2.0,>=1.21; sys_platform == 'linux'
22
+ Requires-Dist: numpy<2.0,>=1.21; sys_platform == 'linux' and python_version < '3.12'
23
+ Requires-Dist: numpy<3.0,>=1.26; sys_platform == 'linux' and python_version >= '3.12'
23
24
  Requires-Dist: numpy>=1.23.0; sys_platform == 'win32'
24
25
  Requires-Dist: numpy>=1.24.0; sys_platform == 'darwin'
25
- Requires-Dist: pandas<2.0,>=1.5; sys_platform == 'linux'
26
+ Requires-Dist: pandas<2.0,>=1.5; sys_platform == 'linux' and python_version < '3.12'
26
27
  Requires-Dist: pandas<2.3.0,>=2.1.0; sys_platform == 'win32'
27
28
  Requires-Dist: pandas>=2.0.0; sys_platform == 'darwin'
28
- Requires-Dist: pyarrow<13.0.0,>=10.0.0; sys_platform == 'linux'
29
+ Requires-Dist: pandas>=2.1.0; sys_platform == 'linux' and python_version >= '3.12'
30
+ Requires-Dist: pyarrow<13.0.0,>=10.0.0; sys_platform == 'linux' and python_version < '3.12'
29
31
  Requires-Dist: pyarrow<15.0.0,>=12.0.0; sys_platform == 'win32'
30
32
  Requires-Dist: pyarrow>=12.0.0; sys_platform == 'darwin'
31
- Requires-Dist: scikit-learn<2.0,>=1.2; sys_platform == 'linux'
33
+ Requires-Dist: pyarrow>=16.0.0; sys_platform == 'linux' and python_version >= '3.12'
34
+ Requires-Dist: scikit-learn<2.0,>=1.2; sys_platform == 'linux' and python_version < '3.12'
32
35
  Requires-Dist: scikit-learn>=1.3.0; sys_platform == 'darwin'
36
+ Requires-Dist: scikit-learn>=1.3.0; sys_platform == 'linux' and python_version >= '3.12'
33
37
  Requires-Dist: scikit-learn>=1.3.0; sys_platform == 'win32'
34
- Requires-Dist: scipy<1.12,>=1.8; sys_platform == 'linux'
38
+ Requires-Dist: scipy<1.12,>=1.8; sys_platform == 'linux' and python_version < '3.12'
35
39
  Requires-Dist: scipy>=1.10.0; sys_platform == 'darwin'
36
40
  Requires-Dist: scipy>=1.10.0; sys_platform == 'win32'
41
+ Requires-Dist: scipy>=1.11.0; sys_platform == 'linux' and python_version >= '3.12'
37
42
  Requires-Dist: torch>=2.0.0
38
43
  Requires-Dist: torchvision>=0.15.0
39
44
  Requires-Dist: tqdm>=4.65.0
@@ -56,9 +61,9 @@ Description-Content-Type: text/markdown
56
61
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
57
62
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
58
63
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
59
- ![Version](https://img.shields.io/badge/Version-0.1.0-orange.svg)
64
+ ![Version](https://img.shields.io/badge/Version-0.1.11-orange.svg)
60
65
 
61
- [中文版](README_zh.md)
66
+ English | [中文版](README_zh.md)
62
67
 
63
68
  **A Unified, Efficient, and Scalable Recommendation System Framework**
64
69
 
@@ -264,7 +269,6 @@ NextRec is inspired by the following great open-source projects:
264
269
  - **torch-rechub** - A Lighting Pytorch Framework for Recommendation Models, Easy-to-use and Easy-to-extend.
265
270
  - **FuxiCTR** — Configurable and reproducible CTR prediction library
266
271
  - **RecBole** — Unified and efficient recommendation library
267
- - **PaddleRec** — Large-scale recommendation algorithm library
268
272
 
269
273
  Special thanks to all open-source contributors!
270
274
 
@@ -5,9 +5,9 @@
5
5
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
6
6
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
7
7
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
8
- ![Version](https://img.shields.io/badge/Version-0.1.0-orange.svg)
8
+ ![Version](https://img.shields.io/badge/Version-0.1.11-orange.svg)
9
9
 
10
- [中文版](README_zh.md)
10
+ English | [中文版](README_zh.md)
11
11
 
12
12
  **A Unified, Efficient, and Scalable Recommendation System Framework**
13
13
 
@@ -213,7 +213,6 @@ NextRec is inspired by the following great open-source projects:
213
213
  - **torch-rechub** - A Lighting Pytorch Framework for Recommendation Models, Easy-to-use and Easy-to-extend.
214
214
  - **FuxiCTR** — Configurable and reproducible CTR prediction library
215
215
  - **RecBole** — Unified and efficient recommendation library
216
- - **PaddleRec** — Large-scale recommendation algorithm library
217
216
 
218
217
  Special thanks to all open-source contributors!
219
218
 
@@ -5,9 +5,9 @@
5
5
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
6
6
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
7
7
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
8
- ![Version](https://img.shields.io/badge/Version-0.1.0-orange.svg)
8
+ ![Version](https://img.shields.io/badge/Version-0.1.11-orange.svg)
9
9
 
10
- [English Version](README.md)
10
+ [English Version](README.md) | 中文版
11
11
 
12
12
  **统一、高效、可扩展的推荐系统框架**
13
13
 
@@ -210,7 +210,6 @@ NextRec 的开发受到以下优秀项目的启发:
210
210
  - [torch-rechub](https://github.com/datawhalechina/torch-rechub) - 灵活且易于扩展的推荐系统框架
211
211
  - [FuxiCTR](https://github.com/reczoo/FuxiCTR) - 可配置、可调优、可复现的 CTR 预测库
212
212
  - [RecBole](https://github.com/RUCAIBox/RecBole) - 统一、全面、高效的推荐库
213
- - [PaddleRec](https://github.com/PaddlePaddle/PaddleRec) - 大规模推荐算法库
214
213
 
215
214
  感谢开源社区的所有贡献者!
216
215
 
@@ -12,7 +12,7 @@ sys.path.insert(0, os.path.abspath('../nextrec'))
12
12
  project = "NextRec"
13
13
  copyright = "2025, Yang Zhou"
14
14
  author = "Yang Zhou"
15
- release = "0.1.8"
15
+ release = "0.1.11"
16
16
 
17
17
  # -- General configuration ---------------------------------------------------
18
18
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -0,0 +1 @@
1
+ __version__ = "0.1.11"
@@ -50,6 +50,7 @@ class BaseModel(nn.Module):
50
50
  embedding_l2_reg: float = 0.0,
51
51
  dense_l2_reg: float = 0.0,
52
52
  early_stop_patience: int = 20,
53
+ model_path: str = './',
53
54
  model_id: str = 'baseline'):
54
55
 
55
56
  super(BaseModel, self).__init__()
@@ -85,12 +86,12 @@ class BaseModel(nn.Module):
85
86
  self.early_stop_patience = early_stop_patience
86
87
  self._max_gradient_norm = 1.0 # Maximum gradient norm for gradient clipping
87
88
 
88
- project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
89
89
  self.model_id = model_id
90
-
91
- checkpoint_dir = os.path.abspath(os.path.join(project_root, "..", "checkpoints"))
90
+
91
+ model_path = os.path.abspath(os.getcwd() if model_path in [None, './'] else model_path)
92
+ checkpoint_dir = os.path.join(model_path, "checkpoints", self.model_id)
92
93
  os.makedirs(checkpoint_dir, exist_ok=True)
93
- self.checkpoint = os.path.join(checkpoint_dir, f"{self.model_name}_{self.model_id}_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.model")
94
+ self.checkpoint = os.path.join(checkpoint_dir, f"{self.model_name}_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.model")
94
95
  self.best = os.path.join(checkpoint_dir, f"{self.model_name}_{self.model_id}_best.model")
95
96
 
96
97
  self._logger_initialized = False
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nextrec"
3
- version = "0.1.8"
3
+ version = "0.1.11"
4
4
  description = "A comprehensive recommendation library with match, ranking, and multi-task learning models"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -38,12 +38,19 @@ dependencies = [
38
38
  "scikit-learn>=1.3.0; sys_platform == 'win32'",
39
39
  "pyarrow>=12.0.0,<15.0.0; sys_platform == 'win32'",
40
40
 
41
- #linux
42
- "numpy>=1.21,<2.0; sys_platform == 'linux'",
43
- "pandas>=1.5,<2.0; sys_platform == 'linux'",
44
- "scipy>=1.8,<1.12; sys_platform == 'linux'",
45
- "scikit-learn>=1.2,<2.0; sys_platform == 'linux'",
46
- "pyarrow>=10.0.0,<13.0.0; sys_platform == 'linux'",
41
+ # Linux, Python < 3.12
42
+ "numpy>=1.21,<2.0; sys_platform == 'linux' and python_version < '3.12'",
43
+ "pandas>=1.5,<2.0; sys_platform == 'linux' and python_version < '3.12'",
44
+ "scipy>=1.8,<1.12; sys_platform == 'linux' and python_version < '3.12'",
45
+ "scikit-learn>=1.2,<2.0; sys_platform == 'linux' and python_version < '3.12'",
46
+ "pyarrow>=10.0.0,<13.0.0; sys_platform == 'linux' and python_version < '3.12'",
47
+
48
+ # Linux, Python >= 3.12
49
+ "numpy>=1.26,<3.0; sys_platform == 'linux' and python_version >= '3.12'",
50
+ "pandas>=2.1.0; sys_platform == 'linux' and python_version >= '3.12'",
51
+ "scipy>=1.11.0; sys_platform == 'linux' and python_version >= '3.12'",
52
+ "scikit-learn>=1.3.0; sys_platform == 'linux' and python_version >= '3.12'",
53
+ "pyarrow>=16.0.0; sys_platform == 'linux' and python_version >= '3.12'",
47
54
  ]
48
55
 
49
56
  [project.optional-dependencies]
@@ -1 +0,0 @@
1
- __version__ = "0.1.8"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes