nextrec 0.4.17__tar.gz → 0.4.19__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 (173) hide show
  1. {nextrec-0.4.17 → nextrec-0.4.19}/PKG-INFO +8 -7
  2. {nextrec-0.4.17 → nextrec-0.4.19}/README.md +7 -6
  3. {nextrec-0.4.17 → nextrec-0.4.19}/README_en.md +7 -5
  4. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/conf.py +1 -1
  5. nextrec-0.4.19/nextrec/__version__.py +1 -0
  6. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/heads.py +1 -3
  7. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/loggers.py +5 -5
  8. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/model.py +210 -82
  9. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/cli.py +5 -5
  10. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/dataloader.py +93 -95
  11. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/preprocessor.py +108 -46
  12. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/grad_norm.py +13 -13
  13. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/esmm.py +9 -11
  14. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/mmoe.py +18 -18
  15. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/ple.py +33 -33
  16. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/poso.py +21 -20
  17. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/share_bottom.py +16 -16
  18. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/afm.py +2 -2
  19. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/autoint.py +2 -2
  20. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/dcn.py +2 -2
  21. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/dcn_v2.py +2 -2
  22. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/deepfm.py +2 -2
  23. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/eulernet.py +2 -2
  24. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/ffm.py +2 -2
  25. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/fm.py +2 -2
  26. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/lr.py +2 -2
  27. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/masknet.py +2 -4
  28. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/pnn.py +3 -3
  29. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/widedeep.py +6 -7
  30. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/xdeepfm.py +3 -3
  31. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/console.py +1 -1
  32. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/data.py +154 -32
  33. nextrec-0.4.19/nextrec/utils/model.py +143 -0
  34. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/NextRec-CLI.md +8 -9
  35. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/NextRec-CLI_zh.md +10 -11
  36. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/predict_config.yaml +2 -2
  37. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/predict_config_template.yaml +2 -2
  38. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/train_config_template.yaml +1 -1
  39. {nextrec-0.4.17 → nextrec-0.4.19}/pyproject.toml +1 -1
  40. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_multitask_models.py +13 -13
  41. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_preprocessor.py +31 -0
  42. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_utils_data.py +58 -3
  43. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/distributed/example_distributed_training.py +1 -1
  44. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/distributed/example_distributed_training_large_dataset.py +2 -2
  45. nextrec-0.4.19/tutorials/example_match.py +164 -0
  46. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/run_all_match_models.py +1 -1
  47. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/run_all_multitask_models.py +1 -1
  48. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/run_all_ranking_models.py +1 -1
  49. nextrec-0.4.17/nextrec/__version__.py +0 -1
  50. nextrec-0.4.17/nextrec/utils/model.py +0 -58
  51. {nextrec-0.4.17 → nextrec-0.4.19}/.github/workflows/publish.yml +0 -0
  52. {nextrec-0.4.17 → nextrec-0.4.19}/.github/workflows/tests.yml +0 -0
  53. {nextrec-0.4.17 → nextrec-0.4.19}/.gitignore +0 -0
  54. {nextrec-0.4.17 → nextrec-0.4.19}/.readthedocs.yaml +0 -0
  55. {nextrec-0.4.17 → nextrec-0.4.19}/CODE_OF_CONDUCT.md +0 -0
  56. {nextrec-0.4.17 → nextrec-0.4.19}/CONTRIBUTING.md +0 -0
  57. {nextrec-0.4.17 → nextrec-0.4.19}/LICENSE +0 -0
  58. {nextrec-0.4.17 → nextrec-0.4.19}/MANIFEST.in +0 -0
  59. {nextrec-0.4.17 → nextrec-0.4.19}/assets/Feature Configuration.png +0 -0
  60. {nextrec-0.4.17 → nextrec-0.4.19}/assets/Model Parameters.png +0 -0
  61. {nextrec-0.4.17 → nextrec-0.4.19}/assets/Training Configuration.png +0 -0
  62. {nextrec-0.4.17 → nextrec-0.4.19}/assets/Training logs.png +0 -0
  63. {nextrec-0.4.17 → nextrec-0.4.19}/assets/logo.png +0 -0
  64. {nextrec-0.4.17 → nextrec-0.4.19}/assets/mmoe_tutorial.png +0 -0
  65. {nextrec-0.4.17 → nextrec-0.4.19}/assets/nextrec_diagram.png +0 -0
  66. {nextrec-0.4.17 → nextrec-0.4.19}/assets/test data.png +0 -0
  67. {nextrec-0.4.17 → nextrec-0.4.19}/dataset/ctcvr_task.csv +0 -0
  68. {nextrec-0.4.17 → nextrec-0.4.19}/dataset/ecommerce_task.csv +0 -0
  69. {nextrec-0.4.17 → nextrec-0.4.19}/dataset/match_task.csv +0 -0
  70. {nextrec-0.4.17 → nextrec-0.4.19}/dataset/movielens_100k.csv +0 -0
  71. {nextrec-0.4.17 → nextrec-0.4.19}/dataset/multitask_task.csv +0 -0
  72. {nextrec-0.4.17 → nextrec-0.4.19}/dataset/ranking_task.csv +0 -0
  73. {nextrec-0.4.17 → nextrec-0.4.19}/docs/en/Getting started guide.md +0 -0
  74. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/Makefile +0 -0
  75. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/index.md +0 -0
  76. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/make.bat +0 -0
  77. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/modules.rst +0 -0
  78. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.basic.rst +0 -0
  79. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.data.rst +0 -0
  80. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.loss.rst +0 -0
  81. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.rst +0 -0
  82. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.utils.rst +0 -0
  83. {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/requirements.txt +0 -0
  84. {nextrec-0.4.17 → nextrec-0.4.19}/docs/zh//345/277/253/351/200/237/344/270/212/346/211/213.md" +0 -0
  85. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/__init__.py +0 -0
  86. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/__init__.py +0 -0
  87. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/activation.py +0 -0
  88. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/callback.py +0 -0
  89. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/features.py +0 -0
  90. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/layers.py +0 -0
  91. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/metrics.py +0 -0
  92. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/session.py +0 -0
  93. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/__init__.py +0 -0
  94. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/batch_utils.py +0 -0
  95. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/data_processing.py +0 -0
  96. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/data_utils.py +0 -0
  97. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/__init__.py +0 -0
  98. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/listwise.py +0 -0
  99. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/loss_utils.py +0 -0
  100. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/pairwise.py +0 -0
  101. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/pointwise.py +0 -0
  102. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/generative/__init__.py +0 -0
  103. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/generative/tiger.py +0 -0
  104. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/__init__.py +0 -0
  105. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/__init__.py +0 -0
  106. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/dien.py +0 -0
  107. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/din.py +0 -0
  108. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/fibinet.py +0 -0
  109. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/__init__.py +0 -0
  110. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/autorec.py +0 -0
  111. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/bpr.py +0 -0
  112. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/cl4srec.py +0 -0
  113. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/lightgcn.py +0 -0
  114. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/mf.py +0 -0
  115. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/rqvae.py +0 -0
  116. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/s3rec.py +0 -0
  117. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/__init__.py +0 -0
  118. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/dssm.py +0 -0
  119. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/dssm_v2.py +0 -0
  120. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/mind.py +0 -0
  121. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/sdm.py +0 -0
  122. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/youtube_dnn.py +0 -0
  123. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/sequential/hstu.py +0 -0
  124. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/sequential/sasrec.py +0 -0
  125. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/__init__.py +0 -0
  126. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/config.py +0 -0
  127. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/embedding.py +0 -0
  128. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/feature.py +0 -0
  129. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/torch_utils.py +0 -0
  130. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/feature_config.yaml +0 -0
  131. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/afm.yaml +0 -0
  132. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/autoint.yaml +0 -0
  133. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/dcn.yaml +0 -0
  134. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/deepfm.yaml +0 -0
  135. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/din.yaml +0 -0
  136. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/esmm.yaml +0 -0
  137. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/fibinet.yaml +0 -0
  138. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/fm.yaml +0 -0
  139. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/masknet.yaml +0 -0
  140. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/mmoe.yaml +0 -0
  141. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/ple.yaml +0 -0
  142. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/pnn.yaml +0 -0
  143. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/poso.yaml +0 -0
  144. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/share_bottom.yaml +0 -0
  145. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/widedeep.yaml +0 -0
  146. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/xdeepfm.yaml +0 -0
  147. {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/train_config.yaml +0 -0
  148. {nextrec-0.4.17 → nextrec-0.4.19}/pytest.ini +0 -0
  149. {nextrec-0.4.17 → nextrec-0.4.19}/requirements.txt +0 -0
  150. {nextrec-0.4.17 → nextrec-0.4.19}/scripts/format_code.py +0 -0
  151. {nextrec-0.4.17 → nextrec-0.4.19}/test/__init__.py +0 -0
  152. {nextrec-0.4.17 → nextrec-0.4.19}/test/conftest.py +0 -0
  153. {nextrec-0.4.17 → nextrec-0.4.19}/test/helpers.py +0 -0
  154. {nextrec-0.4.17 → nextrec-0.4.19}/test/run_tests.py +0 -0
  155. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_base_model_regularization.py +0 -0
  156. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_generative_models.py +0 -0
  157. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_layers.py +0 -0
  158. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_losses.py +0 -0
  159. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_match_models.py +0 -0
  160. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_ranking_models.py +0 -0
  161. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_utils_console.py +0 -0
  162. {nextrec-0.4.17 → nextrec-0.4.19}/test/test_utils_embedding.py +0 -0
  163. {nextrec-0.4.17 → nextrec-0.4.19}/test_requirements.txt +0 -0
  164. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/example_multitask.py +0 -0
  165. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/example_ranking_din.py +0 -0
  166. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/movielen_match_dssm.py +0 -0
  167. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/movielen_ranking_deepfm.py +0 -0
  168. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/en/Build semantic ID with RQ-VAE.ipynb +0 -0
  169. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/en/Hands on dataprocessor.ipynb +0 -0
  170. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/en/Hands on nextrec.ipynb +0 -0
  171. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/zh//344/275/277/347/224/250RQ-VAE/346/236/204/345/273/272/350/257/255/344/271/211ID.ipynb" +0 -0
  172. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/zh//345/246/202/344/275/225/344/275/277/347/224/250DataProcessor/350/277/233/350/241/214/351/242/204/345/244/204/347/220/206.ipynb" +0 -0
  173. {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/zh//345/277/253/351/200/237/345/205/245/351/227/250nextrec.ipynb" +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextrec
3
- Version: 0.4.17
3
+ Version: 0.4.19
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
@@ -63,13 +63,12 @@ Description-Content-Type: text/markdown
63
63
 
64
64
  <div align="center">
65
65
 
66
- [![PyPI Downloads](https://static.pepy.tech/personalized-badge/nextrec?period=total&units=NONE&left_color=BLACK&right_color=GREEN&left_text=PyPI-downloads)](https://pepy.tech/projects/nextrec)
66
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/nextrec?period=total&units=NONE&left_color=BLACK&right_color=GREEN&left_text=PyPI-downloads)](https://pypistats.org/packages/nextrec)
67
67
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
68
68
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
69
-
70
69
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
71
- ![Version](https://img.shields.io/badge/Version-0.4.17-orange.svg)
72
-
70
+ ![Version](https://img.shields.io/badge/Version-0.4.19-orange.svg)
71
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zerolovesea/NextRec)
73
72
 
74
73
  中文文档 | [English Version](README_en.md)
75
74
 
@@ -244,11 +243,13 @@ nextrec --mode=train --train_config=path/to/train_config.yaml
244
243
  nextrec --mode=predict --predict_config=path/to/predict_config.yaml
245
244
  ```
246
245
 
247
- > 截止当前版本0.4.17,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
246
+ 预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
247
+
248
+ > 截止当前版本0.4.19,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
248
249
 
249
250
  ## 兼容平台
250
251
 
251
- 当前最新版本为0.4.17,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
252
+ 当前最新版本为0.4.19,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
252
253
 
253
254
  | 平台 | 配置 |
254
255
  |------|------|
@@ -4,13 +4,12 @@
4
4
 
5
5
  <div align="center">
6
6
 
7
- [![PyPI Downloads](https://static.pepy.tech/personalized-badge/nextrec?period=total&units=NONE&left_color=BLACK&right_color=GREEN&left_text=PyPI-downloads)](https://pepy.tech/projects/nextrec)
7
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/nextrec?period=total&units=NONE&left_color=BLACK&right_color=GREEN&left_text=PyPI-downloads)](https://pypistats.org/packages/nextrec)
8
8
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
9
9
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
10
-
11
10
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
12
- ![Version](https://img.shields.io/badge/Version-0.4.17-orange.svg)
13
-
11
+ ![Version](https://img.shields.io/badge/Version-0.4.19-orange.svg)
12
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zerolovesea/NextRec)
14
13
 
15
14
  中文文档 | [English Version](README_en.md)
16
15
 
@@ -185,11 +184,13 @@ nextrec --mode=train --train_config=path/to/train_config.yaml
185
184
  nextrec --mode=predict --predict_config=path/to/predict_config.yaml
186
185
  ```
187
186
 
188
- > 截止当前版本0.4.17,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
187
+ 预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
188
+
189
+ > 截止当前版本0.4.19,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
189
190
 
190
191
  ## 兼容平台
191
192
 
192
- 当前最新版本为0.4.17,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
193
+ 当前最新版本为0.4.19,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
193
194
 
194
195
  | 平台 | 配置 |
195
196
  |------|------|
@@ -4,12 +4,12 @@
4
4
 
5
5
  <div align="center">
6
6
 
7
- [![PyPI Downloads](https://static.pepy.tech/personalized-badge/nextrec?period=total&units=NONE&left_color=BLACK&right_color=GREEN&left_text=PyPI-downloads)](https://pepy.tech/projects/nextrec)
7
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/nextrec?period=total&units=NONE&left_color=BLACK&right_color=GREEN&left_text=PyPI-downloads)](https://pypistats.org/packages/nextrec)
8
8
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
9
9
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
10
-
11
10
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
12
- ![Version](https://img.shields.io/badge/Version-0.4.17-orange.svg)
11
+ ![Version](https://img.shields.io/badge/Version-0.4.19-orange.svg)
12
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zerolovesea/NextRec)
13
13
 
14
14
  English | [中文文档](README.md)
15
15
 
@@ -188,11 +188,13 @@ nextrec --mode=train --train_config=path/to/train_config.yaml
188
188
  nextrec --mode=predict --predict_config=path/to/predict_config.yaml
189
189
  ```
190
190
 
191
- > As of version 0.4.17, NextRec CLI supports single-machine training; distributed training features are currently under development.
191
+ Prediction outputs are saved under `{checkpoint_path}/predictions/{name}.{save_data_format}`.
192
+
193
+ > As of version 0.4.19, NextRec CLI supports single-machine training; distributed training features are currently under development.
192
194
 
193
195
  ## Platform Compatibility
194
196
 
195
- The current version is 0.4.17. All models and test code have been validated on the following platforms. If you encounter compatibility issues, please report them in the issue tracker with your system version:
197
+ The current version is 0.4.19. All models and test code have been validated on the following platforms. If you encounter compatibility issues, please report them in the issue tracker with your system version:
196
198
 
197
199
  | Platform | Configuration |
198
200
  |----------|---------------|
@@ -11,7 +11,7 @@ sys.path.insert(0, str(PROJECT_ROOT / "nextrec"))
11
11
  project = "NextRec"
12
12
  copyright = "2025, Yang Zhou"
13
13
  author = "Yang Zhou"
14
- release = "0.4.17"
14
+ release = "0.4.19"
15
15
 
16
16
  extensions = [
17
17
  "myst_parser",
@@ -0,0 +1 @@
1
+ __version__ = "0.4.19"
@@ -91,9 +91,7 @@ class RetrievalHead(nn.Module):
91
91
  elif self.similarity_metric == "euclidean":
92
92
  similarity = -torch.sum((user_emb - item_emb) ** 2, dim=-1)
93
93
  else:
94
- raise ValueError(
95
- f"Unknown similarity metric: {self.similarity_metric}"
96
- )
94
+ raise ValueError(f"Unknown similarity metric: {self.similarity_metric}")
97
95
 
98
96
  similarity = similarity / self.temperature
99
97
  if self.training_mode == "pointwise" and self.apply_sigmoid:
@@ -2,7 +2,7 @@
2
2
  NextRec Basic Loggers
3
3
 
4
4
  Date: create on 27/10/2025
5
- Checkpoint: edit on 20/12/2025
5
+ Checkpoint: edit on 24/12/2025
6
6
  Author: Yang Zhou, zyaztec@gmail.com
7
7
  """
8
8
 
@@ -148,18 +148,18 @@ class TrainingLogger:
148
148
  def __init__(
149
149
  self,
150
150
  session: Session,
151
- enable_tensorboard: bool,
151
+ use_tensorboard: bool,
152
152
  log_name: str = "training_metrics.jsonl",
153
153
  ) -> None:
154
154
  self.session = session
155
- self.enable_tensorboard = enable_tensorboard
155
+ self.use_tensorboard = use_tensorboard
156
156
  self.log_path = session.metrics_dir / log_name
157
157
  self.log_path.parent.mkdir(parents=True, exist_ok=True)
158
158
 
159
159
  self.tb_writer = None
160
160
  self.tb_dir = None
161
161
 
162
- if self.enable_tensorboard:
162
+ if self.use_tensorboard:
163
163
  self._init_tensorboard()
164
164
 
165
165
  def _init_tensorboard(self) -> None:
@@ -169,7 +169,7 @@ class TrainingLogger:
169
169
  logging.warning(
170
170
  "[TrainingLogger] tensorboard not installed, disable tensorboard logging."
171
171
  )
172
- self.enable_tensorboard = False
172
+ self.use_tensorboard = False
173
173
  return
174
174
  tb_dir = self.session.logs_dir / "tensorboard"
175
175
  tb_dir.mkdir(parents=True, exist_ok=True)