nextrec 0.4.18__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 (172) hide show
  1. {nextrec-0.4.18 → nextrec-0.4.19}/PKG-INFO +7 -5
  2. {nextrec-0.4.18 → nextrec-0.4.19}/README.md +6 -4
  3. {nextrec-0.4.18 → nextrec-0.4.19}/README_en.md +6 -3
  4. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/conf.py +1 -1
  5. nextrec-0.4.19/nextrec/__version__.py +1 -0
  6. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/cli.py +4 -4
  7. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/NextRec-CLI.md +4 -4
  8. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/NextRec-CLI_zh.md +6 -6
  9. {nextrec-0.4.18 → nextrec-0.4.19}/pyproject.toml +1 -1
  10. nextrec-0.4.18/nextrec/__version__.py +0 -1
  11. {nextrec-0.4.18 → nextrec-0.4.19}/.github/workflows/publish.yml +0 -0
  12. {nextrec-0.4.18 → nextrec-0.4.19}/.github/workflows/tests.yml +0 -0
  13. {nextrec-0.4.18 → nextrec-0.4.19}/.gitignore +0 -0
  14. {nextrec-0.4.18 → nextrec-0.4.19}/.readthedocs.yaml +0 -0
  15. {nextrec-0.4.18 → nextrec-0.4.19}/CODE_OF_CONDUCT.md +0 -0
  16. {nextrec-0.4.18 → nextrec-0.4.19}/CONTRIBUTING.md +0 -0
  17. {nextrec-0.4.18 → nextrec-0.4.19}/LICENSE +0 -0
  18. {nextrec-0.4.18 → nextrec-0.4.19}/MANIFEST.in +0 -0
  19. {nextrec-0.4.18 → nextrec-0.4.19}/assets/Feature Configuration.png +0 -0
  20. {nextrec-0.4.18 → nextrec-0.4.19}/assets/Model Parameters.png +0 -0
  21. {nextrec-0.4.18 → nextrec-0.4.19}/assets/Training Configuration.png +0 -0
  22. {nextrec-0.4.18 → nextrec-0.4.19}/assets/Training logs.png +0 -0
  23. {nextrec-0.4.18 → nextrec-0.4.19}/assets/logo.png +0 -0
  24. {nextrec-0.4.18 → nextrec-0.4.19}/assets/mmoe_tutorial.png +0 -0
  25. {nextrec-0.4.18 → nextrec-0.4.19}/assets/nextrec_diagram.png +0 -0
  26. {nextrec-0.4.18 → nextrec-0.4.19}/assets/test data.png +0 -0
  27. {nextrec-0.4.18 → nextrec-0.4.19}/dataset/ctcvr_task.csv +0 -0
  28. {nextrec-0.4.18 → nextrec-0.4.19}/dataset/ecommerce_task.csv +0 -0
  29. {nextrec-0.4.18 → nextrec-0.4.19}/dataset/match_task.csv +0 -0
  30. {nextrec-0.4.18 → nextrec-0.4.19}/dataset/movielens_100k.csv +0 -0
  31. {nextrec-0.4.18 → nextrec-0.4.19}/dataset/multitask_task.csv +0 -0
  32. {nextrec-0.4.18 → nextrec-0.4.19}/dataset/ranking_task.csv +0 -0
  33. {nextrec-0.4.18 → nextrec-0.4.19}/docs/en/Getting started guide.md +0 -0
  34. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/Makefile +0 -0
  35. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/index.md +0 -0
  36. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/make.bat +0 -0
  37. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/modules.rst +0 -0
  38. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/nextrec.basic.rst +0 -0
  39. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/nextrec.data.rst +0 -0
  40. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/nextrec.loss.rst +0 -0
  41. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/nextrec.rst +0 -0
  42. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/nextrec.utils.rst +0 -0
  43. {nextrec-0.4.18 → nextrec-0.4.19}/docs/rtd/requirements.txt +0 -0
  44. {nextrec-0.4.18 → nextrec-0.4.19}/docs/zh//345/277/253/351/200/237/344/270/212/346/211/213.md" +0 -0
  45. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/__init__.py +0 -0
  46. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/__init__.py +0 -0
  47. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/activation.py +0 -0
  48. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/callback.py +0 -0
  49. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/features.py +0 -0
  50. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/heads.py +0 -0
  51. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/layers.py +0 -0
  52. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/loggers.py +0 -0
  53. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/metrics.py +0 -0
  54. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/model.py +0 -0
  55. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/basic/session.py +0 -0
  56. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/data/__init__.py +0 -0
  57. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/data/batch_utils.py +0 -0
  58. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/data/data_processing.py +0 -0
  59. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/data/data_utils.py +0 -0
  60. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/data/dataloader.py +0 -0
  61. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/data/preprocessor.py +0 -0
  62. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/loss/__init__.py +0 -0
  63. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/loss/grad_norm.py +0 -0
  64. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/loss/listwise.py +0 -0
  65. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/loss/loss_utils.py +0 -0
  66. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/loss/pairwise.py +0 -0
  67. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/loss/pointwise.py +0 -0
  68. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/generative/__init__.py +0 -0
  69. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/generative/tiger.py +0 -0
  70. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/multi_task/__init__.py +0 -0
  71. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/multi_task/esmm.py +0 -0
  72. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/multi_task/mmoe.py +0 -0
  73. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/multi_task/ple.py +0 -0
  74. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/multi_task/poso.py +0 -0
  75. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/multi_task/share_bottom.py +0 -0
  76. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/__init__.py +0 -0
  77. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/afm.py +0 -0
  78. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/autoint.py +0 -0
  79. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/dcn.py +0 -0
  80. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/dcn_v2.py +0 -0
  81. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/deepfm.py +0 -0
  82. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/dien.py +0 -0
  83. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/din.py +0 -0
  84. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/eulernet.py +0 -0
  85. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/ffm.py +0 -0
  86. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/fibinet.py +0 -0
  87. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/fm.py +0 -0
  88. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/lr.py +0 -0
  89. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/masknet.py +0 -0
  90. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/pnn.py +0 -0
  91. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/widedeep.py +0 -0
  92. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/ranking/xdeepfm.py +0 -0
  93. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/__init__.py +0 -0
  94. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/autorec.py +0 -0
  95. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/bpr.py +0 -0
  96. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/cl4srec.py +0 -0
  97. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/lightgcn.py +0 -0
  98. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/mf.py +0 -0
  99. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/rqvae.py +0 -0
  100. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/representation/s3rec.py +0 -0
  101. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/retrieval/__init__.py +0 -0
  102. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/retrieval/dssm.py +0 -0
  103. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/retrieval/dssm_v2.py +0 -0
  104. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/retrieval/mind.py +0 -0
  105. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/retrieval/sdm.py +0 -0
  106. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/retrieval/youtube_dnn.py +0 -0
  107. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/sequential/hstu.py +0 -0
  108. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/models/sequential/sasrec.py +0 -0
  109. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/__init__.py +0 -0
  110. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/config.py +0 -0
  111. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/console.py +0 -0
  112. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/data.py +0 -0
  113. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/embedding.py +0 -0
  114. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/feature.py +0 -0
  115. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/model.py +0 -0
  116. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec/utils/torch_utils.py +0 -0
  117. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/feature_config.yaml +0 -0
  118. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/afm.yaml +0 -0
  119. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/autoint.yaml +0 -0
  120. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/dcn.yaml +0 -0
  121. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/deepfm.yaml +0 -0
  122. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/din.yaml +0 -0
  123. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/esmm.yaml +0 -0
  124. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/fibinet.yaml +0 -0
  125. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/fm.yaml +0 -0
  126. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/masknet.yaml +0 -0
  127. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/mmoe.yaml +0 -0
  128. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/ple.yaml +0 -0
  129. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/pnn.yaml +0 -0
  130. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/poso.yaml +0 -0
  131. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/share_bottom.yaml +0 -0
  132. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/widedeep.yaml +0 -0
  133. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/xdeepfm.yaml +0 -0
  134. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/predict_config.yaml +0 -0
  135. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/predict_config_template.yaml +0 -0
  136. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/train_config.yaml +0 -0
  137. {nextrec-0.4.18 → nextrec-0.4.19}/nextrec_cli_preset/train_config_template.yaml +0 -0
  138. {nextrec-0.4.18 → nextrec-0.4.19}/pytest.ini +0 -0
  139. {nextrec-0.4.18 → nextrec-0.4.19}/requirements.txt +0 -0
  140. {nextrec-0.4.18 → nextrec-0.4.19}/scripts/format_code.py +0 -0
  141. {nextrec-0.4.18 → nextrec-0.4.19}/test/__init__.py +0 -0
  142. {nextrec-0.4.18 → nextrec-0.4.19}/test/conftest.py +0 -0
  143. {nextrec-0.4.18 → nextrec-0.4.19}/test/helpers.py +0 -0
  144. {nextrec-0.4.18 → nextrec-0.4.19}/test/run_tests.py +0 -0
  145. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_base_model_regularization.py +0 -0
  146. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_generative_models.py +0 -0
  147. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_layers.py +0 -0
  148. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_losses.py +0 -0
  149. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_match_models.py +0 -0
  150. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_multitask_models.py +0 -0
  151. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_preprocessor.py +0 -0
  152. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_ranking_models.py +0 -0
  153. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_utils_console.py +0 -0
  154. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_utils_data.py +0 -0
  155. {nextrec-0.4.18 → nextrec-0.4.19}/test/test_utils_embedding.py +0 -0
  156. {nextrec-0.4.18 → nextrec-0.4.19}/test_requirements.txt +0 -0
  157. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/distributed/example_distributed_training.py +0 -0
  158. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/distributed/example_distributed_training_large_dataset.py +0 -0
  159. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/example_match.py +0 -0
  160. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/example_multitask.py +0 -0
  161. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/example_ranking_din.py +0 -0
  162. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/movielen_match_dssm.py +0 -0
  163. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/movielen_ranking_deepfm.py +0 -0
  164. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/notebooks/en/Build semantic ID with RQ-VAE.ipynb +0 -0
  165. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/notebooks/en/Hands on dataprocessor.ipynb +0 -0
  166. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/notebooks/en/Hands on nextrec.ipynb +0 -0
  167. {nextrec-0.4.18 → 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
  168. {nextrec-0.4.18 → 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
  169. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/notebooks/zh//345/277/253/351/200/237/345/205/245/351/227/250nextrec.ipynb" +0 -0
  170. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/run_all_match_models.py +0 -0
  171. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/run_all_multitask_models.py +0 -0
  172. {nextrec-0.4.18 → nextrec-0.4.19}/tutorials/run_all_ranking_models.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextrec
3
- Version: 0.4.18
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
@@ -67,8 +67,8 @@ Description-Content-Type: text/markdown
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
69
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
70
- ![Version](https://img.shields.io/badge/Version-0.4.18-orange.svg)
71
-
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)
72
72
 
73
73
  中文文档 | [English Version](README_en.md)
74
74
 
@@ -243,11 +243,13 @@ nextrec --mode=train --train_config=path/to/train_config.yaml
243
243
  nextrec --mode=predict --predict_config=path/to/predict_config.yaml
244
244
  ```
245
245
 
246
- > 截止当前版本0.4.18,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
246
+ 预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
247
+
248
+ > 截止当前版本0.4.19,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
247
249
 
248
250
  ## 兼容平台
249
251
 
250
- 当前最新版本为0.4.18,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
252
+ 当前最新版本为0.4.19,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
251
253
 
252
254
  | 平台 | 配置 |
253
255
  |------|------|
@@ -8,8 +8,8 @@
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
10
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
11
- ![Version](https://img.shields.io/badge/Version-0.4.18-orange.svg)
12
-
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 Version](README_en.md)
15
15
 
@@ -184,11 +184,13 @@ nextrec --mode=train --train_config=path/to/train_config.yaml
184
184
  nextrec --mode=predict --predict_config=path/to/predict_config.yaml
185
185
  ```
186
186
 
187
- > 截止当前版本0.4.18,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
187
+ 预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
188
+
189
+ > 截止当前版本0.4.19,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
188
190
 
189
191
  ## 兼容平台
190
192
 
191
- 当前最新版本为0.4.18,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
193
+ 当前最新版本为0.4.19,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
192
194
 
193
195
  | 平台 | 配置 |
194
196
  |------|------|
@@ -8,7 +8,8 @@
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
10
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
11
- ![Version](https://img.shields.io/badge/Version-0.4.18-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)
12
13
 
13
14
  English | [中文文档](README.md)
14
15
 
@@ -187,11 +188,13 @@ nextrec --mode=train --train_config=path/to/train_config.yaml
187
188
  nextrec --mode=predict --predict_config=path/to/predict_config.yaml
188
189
  ```
189
190
 
190
- > As of version 0.4.18, 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.
191
194
 
192
195
  ## Platform Compatibility
193
196
 
194
- The current version is 0.4.18. 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:
195
198
 
196
199
  | Platform | Configuration |
197
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.18"
14
+ release = "0.4.19"
15
15
 
16
16
  extensions = [
17
17
  "myst_parser",
@@ -0,0 +1 @@
1
+ __version__ = "0.4.19"
@@ -585,13 +585,13 @@ def predict_model(predict_config_path: str) -> None:
585
585
  chunk_size=predict_cfg.get("chunk_size", 20000),
586
586
  )
587
587
 
588
- # Build output path: {checkpoint_path}/predictions/{name}.{save_data_format}
588
+
589
589
  save_format = predict_cfg.get(
590
590
  "save_data_format", predict_cfg.get("save_format", "csv")
591
591
  )
592
592
  pred_name = predict_cfg.get("name", "pred")
593
- # Pass filename with extension to let model.predict handle path resolution
594
- save_path = f"{pred_name}.{save_format}"
593
+
594
+ save_path = checkpoint_base / "predictions" / f"{pred_name}.{save_format}"
595
595
 
596
596
  start = time.time()
597
597
  logger.info("")
@@ -600,7 +600,7 @@ def predict_model(predict_config_path: str) -> None:
600
600
  batch_size=batch_size,
601
601
  include_ids=bool(id_columns),
602
602
  return_dataframe=False,
603
- save_path=save_path,
603
+ save_path=str(save_path),
604
604
  save_format=save_format,
605
605
  num_workers=predict_cfg.get("num_workers", 0),
606
606
  )
@@ -84,7 +84,7 @@ dataloader:
84
84
  valid_batch_size: 512 # Validation batch size
85
85
  valid_shuffle: false # Shuffle validation data
86
86
  num_workers: 4 # Number of parallel data loading workers
87
- # 0 = single process, >0 = multiprocessing
87
+ # 0 = single process, >0 = multiprocessing
88
88
  # chunk_size: 20000 # Chunk size when streaming=true
89
89
 
90
90
  train:
@@ -187,7 +187,7 @@ The prediction configuration file defines the model inference pipeline.
187
187
  #### Configuration Structure
188
188
 
189
189
  ```yaml
190
- checkpoint_path: /path/to/checkpoint/directory # Required checkpoint directory
190
+ checkpoint_path: /path/to/checkpoint/directory # Required checkpoint directory
191
191
  # model_config: /path/to/model_config.yaml # Optional model config override
192
192
  # session:
193
193
  # id: my_experiment_session # Optional session ID
@@ -195,10 +195,10 @@ checkpoint_path: /path/to/checkpoint/directory # Required checkpoint directory
195
195
  predict:
196
196
  data_path: /path/to/prediction/data # Prediction data path
197
197
  source_data_format: parquet # Input data format: csv, parquet, feather
198
- # Use 'auto' for automatic detection
198
+ # Use 'auto' for automatic detection
199
199
  id_column: user_id # ID column name (optional, for linking predictions)
200
200
  name: pred # Output filename (without extension)
201
- # Final path: {checkpoint_path}/predictions/{name}.{save_data_format}
201
+ # Final path: {checkpoint_path}/predictions/{name}.{save_data_format}
202
202
  save_data_format: csv # Output format: csv, parquet, feather
203
203
  preview_rows: 5 # Number of preview rows (output to log)
204
204
  batch_size: 512 # Prediction batch size
@@ -84,7 +84,7 @@ dataloader:
84
84
  valid_batch_size: 512 # 验证批次大小
85
85
  valid_shuffle: false # 是否打乱验证数据
86
86
  num_workers: 4 # 数据加载并行进程数
87
- # 0=单进程, >0=多进程
87
+ # 0=单进程, >0=多进程
88
88
  # chunk_size: 20000 # streaming=true 时的分块大小
89
89
 
90
90
  train:
@@ -195,10 +195,10 @@ checkpoint_path: /path/to/checkpoint/directory # 必填 checkpoint 目录
195
195
  predict:
196
196
  data_path: /path/to/prediction/data # 预测数据路径
197
197
  source_data_format: parquet # 输入数据格式:csv, parquet, feather
198
- # 使用 auto 自动识别
198
+ # 使用 auto 自动识别
199
199
  id_column: user_id # ID列名(可选,用于关联预测结果)
200
200
  name: pred # 输出文件名(不含扩展名)
201
- # 最终路径: {checkpoint_path}/predictions/{name}.{save_data_format}
201
+ # 最终路径: {checkpoint_path}/predictions/{name}.{save_data_format}
202
202
  save_data_format: csv # 输出格式:csv, parquet, feather
203
203
  preview_rows: 5 # 预览行数(输出到日志)
204
204
  batch_size: 512 # 预测批次大小
@@ -380,8 +380,8 @@ model: deepfm
380
380
  params:
381
381
  mlp_params:
382
382
  dims: [256, 128, 64] # MLP 层维度
383
- activation: relu # 激活函数
384
- dropout: 0.3 # Dropout 比率
383
+ activation: relu # 激活函数
384
+ dropout: 0.3 # Dropout 比率
385
385
  embedding_l2_reg: 1.0e-5 # Embedding L2 正则化
386
386
  dense_l2_reg: 1.0e-4 # Dense 层 L2 正则化
387
387
  ```
@@ -430,7 +430,7 @@ params:
430
430
  ```yaml
431
431
  model: masknet
432
432
  params:
433
- architecture: parallel # 模型类型:parallel, serial
433
+ architecture: parallel # 模型类型:parallel, serial
434
434
  num_blocks: 3 # Block 数量
435
435
  mask_hidden_dim: 64 # Mask 隐藏层维度
436
436
  block_hidden_dim: 256 # Block 隐藏层维度
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nextrec"
3
- version = "0.4.18"
3
+ version = "0.4.19"
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"
@@ -1 +0,0 @@
1
- __version__ = "0.4.18"
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