nextrec 0.4.29__tar.gz → 0.4.31__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 (188) hide show
  1. {nextrec-0.4.29 → nextrec-0.4.31}/PKG-INFO +4 -4
  2. {nextrec-0.4.29 → nextrec-0.4.31}/README.md +3 -3
  3. {nextrec-0.4.29 → nextrec-0.4.31}/README_en.md +3 -3
  4. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/conf.py +1 -1
  5. nextrec-0.4.31/nextrec/__version__.py +1 -0
  6. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/cli.py +2 -0
  7. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/afm.py +4 -0
  8. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/autoint.py +4 -0
  9. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/dcn.py +4 -0
  10. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/dcn_v2.py +4 -0
  11. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/deepfm.py +4 -0
  12. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/dien.py +4 -0
  13. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/din.py +4 -0
  14. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/eulernet.py +4 -0
  15. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/ffm.py +4 -0
  16. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/fibinet.py +4 -0
  17. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/fm.py +4 -0
  18. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/lr.py +4 -0
  19. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/masknet.py +4 -0
  20. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/pnn.py +4 -0
  21. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/widedeep.py +7 -1
  22. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/xdeepfm.py +6 -1
  23. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/NextRec-CLI.md +8 -0
  24. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/NextRec-CLI_zh.md +8 -0
  25. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/train_config.yaml +6 -0
  26. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/train_config_template.yaml +6 -0
  27. {nextrec-0.4.29 → nextrec-0.4.31}/pyproject.toml +1 -1
  28. nextrec-0.4.29/nextrec/__version__.py +0 -1
  29. {nextrec-0.4.29 → nextrec-0.4.31}/.github/workflows/publish.yml +0 -0
  30. {nextrec-0.4.29 → nextrec-0.4.31}/.github/workflows/tests.yml +0 -0
  31. {nextrec-0.4.29 → nextrec-0.4.31}/.gitignore +0 -0
  32. {nextrec-0.4.29 → nextrec-0.4.31}/.readthedocs.yaml +0 -0
  33. {nextrec-0.4.29 → nextrec-0.4.31}/CODE_OF_CONDUCT.md +0 -0
  34. {nextrec-0.4.29 → nextrec-0.4.31}/CONTRIBUTING.md +0 -0
  35. {nextrec-0.4.29 → nextrec-0.4.31}/LICENSE +0 -0
  36. {nextrec-0.4.29 → nextrec-0.4.31}/MANIFEST.in +0 -0
  37. {nextrec-0.4.29 → nextrec-0.4.31}/assets/Feature Configuration.png +0 -0
  38. {nextrec-0.4.29 → nextrec-0.4.31}/assets/Model Parameters.png +0 -0
  39. {nextrec-0.4.29 → nextrec-0.4.31}/assets/Training Configuration.png +0 -0
  40. {nextrec-0.4.29 → nextrec-0.4.31}/assets/Training logs.png +0 -0
  41. {nextrec-0.4.29 → nextrec-0.4.31}/assets/logo.png +0 -0
  42. {nextrec-0.4.29 → nextrec-0.4.31}/assets/mmoe_tutorial.png +0 -0
  43. {nextrec-0.4.29 → nextrec-0.4.31}/assets/nextrec_diagram.png +0 -0
  44. {nextrec-0.4.29 → nextrec-0.4.31}/assets/test data.png +0 -0
  45. {nextrec-0.4.29 → nextrec-0.4.31}/dataset/ctcvr_task.csv +0 -0
  46. {nextrec-0.4.29 → nextrec-0.4.31}/dataset/ecommerce_task.csv +0 -0
  47. {nextrec-0.4.29 → nextrec-0.4.31}/dataset/match_task.csv +0 -0
  48. {nextrec-0.4.29 → nextrec-0.4.31}/dataset/movielens_100k.csv +0 -0
  49. {nextrec-0.4.29 → nextrec-0.4.31}/dataset/multitask_task.csv +0 -0
  50. {nextrec-0.4.29 → nextrec-0.4.31}/dataset/ranking_task.csv +0 -0
  51. {nextrec-0.4.29 → nextrec-0.4.31}/docs/en/Getting started guide.md +0 -0
  52. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/Makefile +0 -0
  53. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/index.md +0 -0
  54. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/make.bat +0 -0
  55. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/modules.rst +0 -0
  56. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/nextrec.basic.rst +0 -0
  57. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/nextrec.data.rst +0 -0
  58. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/nextrec.loss.rst +0 -0
  59. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/nextrec.rst +0 -0
  60. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/nextrec.utils.rst +0 -0
  61. {nextrec-0.4.29 → nextrec-0.4.31}/docs/rtd/requirements.txt +0 -0
  62. {nextrec-0.4.29 → nextrec-0.4.31}/docs/zh//345/277/253/351/200/237/344/270/212/346/211/213.md" +0 -0
  63. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/__init__.py +0 -0
  64. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/__init__.py +0 -0
  65. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/activation.py +0 -0
  66. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/asserts.py +0 -0
  67. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/callback.py +0 -0
  68. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/features.py +0 -0
  69. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/heads.py +0 -0
  70. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/layers.py +0 -0
  71. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/loggers.py +0 -0
  72. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/metrics.py +0 -0
  73. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/model.py +0 -0
  74. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/session.py +0 -0
  75. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/basic/summary.py +0 -0
  76. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/data/__init__.py +0 -0
  77. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/data/batch_utils.py +0 -0
  78. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/data/data_processing.py +0 -0
  79. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/data/data_utils.py +0 -0
  80. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/data/dataloader.py +0 -0
  81. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/data/preprocessor.py +0 -0
  82. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/loss/__init__.py +0 -0
  83. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/loss/grad_norm.py +0 -0
  84. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/loss/listwise.py +0 -0
  85. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/loss/pairwise.py +0 -0
  86. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/loss/pointwise.py +0 -0
  87. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/generative/__init__.py +0 -0
  88. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/generative/tiger.py +0 -0
  89. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/[pre]aitm.py +0 -0
  90. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/[pre]snr_trans.py +0 -0
  91. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/[pre]star.py +0 -0
  92. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/__init__.py +0 -0
  93. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/apg.py +0 -0
  94. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/cross_stitch.py +0 -0
  95. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/escm.py +0 -0
  96. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/esmm.py +0 -0
  97. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/hmoe.py +0 -0
  98. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/mmoe.py +0 -0
  99. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/pepnet.py +0 -0
  100. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/ple.py +0 -0
  101. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/poso.py +0 -0
  102. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/multi_task/share_bottom.py +0 -0
  103. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/ranking/__init__.py +0 -0
  104. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/__init__.py +0 -0
  105. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/autorec.py +0 -0
  106. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/bpr.py +0 -0
  107. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/cl4srec.py +0 -0
  108. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/lightgcn.py +0 -0
  109. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/mf.py +0 -0
  110. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/rqvae.py +0 -0
  111. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/representation/s3rec.py +0 -0
  112. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/retrieval/__init__.py +0 -0
  113. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/retrieval/dssm.py +0 -0
  114. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/retrieval/dssm_v2.py +0 -0
  115. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/retrieval/mind.py +0 -0
  116. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/retrieval/sdm.py +0 -0
  117. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/retrieval/youtube_dnn.py +0 -0
  118. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/sequential/hstu.py +0 -0
  119. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/models/sequential/sasrec.py +0 -0
  120. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/__init__.py +0 -0
  121. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/config.py +0 -0
  122. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/console.py +0 -0
  123. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/data.py +0 -0
  124. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/embedding.py +0 -0
  125. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/feature.py +0 -0
  126. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/loss.py +0 -0
  127. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/model.py +0 -0
  128. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/torch_utils.py +0 -0
  129. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec/utils/types.py +0 -0
  130. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/feature_config.yaml +0 -0
  131. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/afm.yaml +0 -0
  132. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/apg.yaml +0 -0
  133. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/autoint.yaml +0 -0
  134. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/cross_stitch.yaml +0 -0
  135. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/dcn.yaml +0 -0
  136. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/deepfm.yaml +0 -0
  137. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/din.yaml +0 -0
  138. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/escm.yaml +0 -0
  139. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/esmm.yaml +0 -0
  140. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/fibinet.yaml +0 -0
  141. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/fm.yaml +0 -0
  142. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/hmoe.yaml +0 -0
  143. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/masknet.yaml +0 -0
  144. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/mmoe.yaml +0 -0
  145. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/pepnet.yaml +0 -0
  146. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/ple.yaml +0 -0
  147. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/pnn.yaml +0 -0
  148. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/poso.yaml +0 -0
  149. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/share_bottom.yaml +0 -0
  150. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/widedeep.yaml +0 -0
  151. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/model_configs/xdeepfm.yaml +0 -0
  152. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/predict_config.yaml +0 -0
  153. {nextrec-0.4.29 → nextrec-0.4.31}/nextrec_cli_preset/predict_config_template.yaml +0 -0
  154. {nextrec-0.4.29 → nextrec-0.4.31}/pytest.ini +0 -0
  155. {nextrec-0.4.29 → nextrec-0.4.31}/requirements.txt +0 -0
  156. {nextrec-0.4.29 → nextrec-0.4.31}/scripts/format_code.py +0 -0
  157. {nextrec-0.4.29 → nextrec-0.4.31}/test/__init__.py +0 -0
  158. {nextrec-0.4.29 → nextrec-0.4.31}/test/conftest.py +0 -0
  159. {nextrec-0.4.29 → nextrec-0.4.31}/test/helpers.py +0 -0
  160. {nextrec-0.4.29 → nextrec-0.4.31}/test/run_tests.py +0 -0
  161. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_base_model_regularization.py +0 -0
  162. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_generative_models.py +0 -0
  163. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_layers.py +0 -0
  164. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_losses.py +0 -0
  165. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_match_models.py +0 -0
  166. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_multitask_models.py +0 -0
  167. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_preprocessor.py +0 -0
  168. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_ranking_models.py +0 -0
  169. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_utils_console.py +0 -0
  170. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_utils_data.py +0 -0
  171. {nextrec-0.4.29 → nextrec-0.4.31}/test/test_utils_embedding.py +0 -0
  172. {nextrec-0.4.29 → nextrec-0.4.31}/test_requirements.txt +0 -0
  173. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/distributed/example_distributed_training.py +0 -0
  174. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/distributed/example_distributed_training_large_dataset.py +0 -0
  175. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/example_match.py +0 -0
  176. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/example_multitask.py +0 -0
  177. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/example_ranking_din.py +0 -0
  178. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/movielen_match_dssm.py +0 -0
  179. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/movielen_ranking_deepfm.py +0 -0
  180. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/notebooks/en/Build semantic ID with RQ-VAE.ipynb +0 -0
  181. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/notebooks/en/Hands on dataprocessor.ipynb +0 -0
  182. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/notebooks/en/Hands on nextrec.ipynb +0 -0
  183. {nextrec-0.4.29 → nextrec-0.4.31}/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
  184. {nextrec-0.4.29 → nextrec-0.4.31}/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
  185. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/notebooks/zh//345/277/253/351/200/237/345/205/245/351/227/250nextrec.ipynb" +0 -0
  186. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/run_all_match_models.py +0 -0
  187. {nextrec-0.4.29 → nextrec-0.4.31}/tutorials/run_all_multitask_models.py +0 -0
  188. {nextrec-0.4.29 → nextrec-0.4.31}/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.29
3
+ Version: 0.4.31
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
@@ -69,7 +69,7 @@ Description-Content-Type: text/markdown
69
69
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
70
70
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
71
71
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
72
- ![Version](https://img.shields.io/badge/Version-0.4.29-orange.svg)
72
+ ![Version](https://img.shields.io/badge/Version-0.4.31-orange.svg)
73
73
  [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zerolovesea/NextRec)
74
74
 
75
75
  中文文档 | [English Version](README_en.md)
@@ -254,11 +254,11 @@ nextrec --mode=predict --predict_config=path/to/predict_config.yaml
254
254
 
255
255
  预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
256
256
 
257
- > 截止当前版本0.4.29,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
257
+ > 截止当前版本0.4.31,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
258
258
 
259
259
  ## 兼容平台
260
260
 
261
- 当前最新版本为0.4.29,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
261
+ 当前最新版本为0.4.31,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
262
262
 
263
263
  | 平台 | 配置 |
264
264
  |------|------|
@@ -8,7 +8,7 @@
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.29-orange.svg)
11
+ ![Version](https://img.shields.io/badge/Version-0.4.31-orange.svg)
12
12
  [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zerolovesea/NextRec)
13
13
 
14
14
  中文文档 | [English Version](README_en.md)
@@ -193,11 +193,11 @@ nextrec --mode=predict --predict_config=path/to/predict_config.yaml
193
193
 
194
194
  预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
195
195
 
196
- > 截止当前版本0.4.29,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
196
+ > 截止当前版本0.4.31,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
197
197
 
198
198
  ## 兼容平台
199
199
 
200
- 当前最新版本为0.4.29,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
200
+ 当前最新版本为0.4.31,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
201
201
 
202
202
  | 平台 | 配置 |
203
203
  |------|------|
@@ -8,7 +8,7 @@
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.29-orange.svg)
11
+ ![Version](https://img.shields.io/badge/Version-0.4.31-orange.svg)
12
12
  [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zerolovesea/NextRec)
13
13
 
14
14
  English | [中文文档](README.md)
@@ -196,11 +196,11 @@ nextrec --mode=predict --predict_config=path/to/predict_config.yaml
196
196
 
197
197
  Prediction outputs are saved under `{checkpoint_path}/predictions/{name}.{save_data_format}`.
198
198
 
199
- > As of version 0.4.29, NextRec CLI supports single-machine training; distributed training features are currently under development.
199
+ > As of version 0.4.31, NextRec CLI supports single-machine training; distributed training features are currently under development.
200
200
 
201
201
  ## Platform Compatibility
202
202
 
203
- The current version is 0.4.29. 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:
203
+ The current version is 0.4.31. 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:
204
204
 
205
205
  | Platform | Configuration |
206
206
  |----------|---------------|
@@ -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.29"
14
+ release = "0.4.31"
15
15
 
16
16
  extensions = [
17
17
  "myst_parser",
@@ -0,0 +1 @@
1
+ __version__ = "0.4.31"
@@ -407,6 +407,8 @@ def train_model(train_config_path: str) -> None:
407
407
  use_swanlab=train_cfg.get("use_swanlab", False),
408
408
  wandb_api=train_cfg.get("wandb_api"),
409
409
  swanlab_api=train_cfg.get("swanlab_api"),
410
+ wandb_kwargs=train_cfg.get("wandb_kwargs"),
411
+ swanlab_kwargs=train_cfg.get("swanlab_kwargs"),
410
412
  log_interval=train_cfg.get("log_interval", 1),
411
413
  note=train_cfg.get("note"),
412
414
  )
@@ -59,6 +59,8 @@ class AFM(BaseModel):
59
59
  dense_features: list[DenseFeature] | None = None,
60
60
  sparse_features: list[SparseFeature] | None = None,
61
61
  sequence_features: list[SequenceFeature] | None = None,
62
+ target: str | list[str] | None = None,
63
+ task: str | list[str] | None = None,
62
64
  attention_dim: int = 32,
63
65
  attention_dropout: float = 0.0,
64
66
  **kwargs,
@@ -72,6 +74,8 @@ class AFM(BaseModel):
72
74
  dense_features=dense_features,
73
75
  sparse_features=sparse_features,
74
76
  sequence_features=sequence_features,
77
+ target=target,
78
+ task=task,
75
79
  **kwargs,
76
80
  )
77
81
 
@@ -75,6 +75,8 @@ class AutoInt(BaseModel):
75
75
  dense_features: list[DenseFeature],
76
76
  sparse_features: list[SparseFeature],
77
77
  sequence_features: list[SequenceFeature],
78
+ target: str | list[str] | None = None,
79
+ task: str | list[str] | None = None,
78
80
  att_layer_num: int = 3,
79
81
  att_embedding_dim: int = 8,
80
82
  att_head_num: int = 2,
@@ -87,6 +89,8 @@ class AutoInt(BaseModel):
87
89
  dense_features=dense_features,
88
90
  sparse_features=sparse_features,
89
91
  sequence_features=sequence_features,
92
+ target=target,
93
+ task=task,
90
94
  **kwargs,
91
95
  )
92
96
 
@@ -93,6 +93,8 @@ class DCN(BaseModel):
93
93
  dense_features: list[DenseFeature] | None = None,
94
94
  sparse_features: list[SparseFeature] | None = None,
95
95
  sequence_features: list[SequenceFeature] | None = None,
96
+ target: str | list[str] | None = None,
97
+ task: str | list[str] | None = None,
96
98
  cross_num: int = 3,
97
99
  mlp_params: dict | None = None,
98
100
  **kwargs,
@@ -107,6 +109,8 @@ class DCN(BaseModel):
107
109
  dense_features=dense_features,
108
110
  sparse_features=sparse_features,
109
111
  sequence_features=sequence_features,
112
+ target=target,
113
+ task=task,
110
114
  **kwargs,
111
115
  )
112
116
 
@@ -191,6 +191,8 @@ class DCNv2(BaseModel):
191
191
  dense_features: list[DenseFeature] | None = None,
192
192
  sparse_features: list[SparseFeature] | None = None,
193
193
  sequence_features: list[SequenceFeature] | None = None,
194
+ target: str | list[str] | None = None,
195
+ task: str | list[str] | None = None,
194
196
  cross_num: int = 3,
195
197
  cross_type: Literal["matrix", "mix", "low_rank"] = "matrix",
196
198
  architecture: Literal["parallel", "stacked"] = "parallel",
@@ -208,6 +210,8 @@ class DCNv2(BaseModel):
208
210
  dense_features=dense_features,
209
211
  sparse_features=sparse_features,
210
212
  sequence_features=sequence_features,
213
+ target=target,
214
+ task=task,
211
215
  **kwargs,
212
216
  )
213
217
 
@@ -61,6 +61,8 @@ class DeepFM(BaseModel):
61
61
  dense_features: list[DenseFeature] | None = None,
62
62
  sparse_features: list[SparseFeature] | None = None,
63
63
  sequence_features: list[SequenceFeature] | None = None,
64
+ target: str | list[str] | None = None,
65
+ task: str | list[str] | None = None,
64
66
  mlp_params: dict | None = None,
65
67
  **kwargs,
66
68
  ):
@@ -74,6 +76,8 @@ class DeepFM(BaseModel):
74
76
  dense_features=dense_features,
75
77
  sparse_features=sparse_features,
76
78
  sequence_features=sequence_features,
79
+ target=target,
80
+ task=task,
77
81
  **kwargs,
78
82
  )
79
83
 
@@ -203,6 +203,8 @@ class DIEN(BaseModel):
203
203
  dense_features: list[DenseFeature] | None = None,
204
204
  sparse_features: list[SparseFeature] | None = None,
205
205
  sequence_features: list[SequenceFeature] | None = None,
206
+ target: str | list[str] | None = None,
207
+ task: str | list[str] | None = None,
206
208
  behavior_feature_name: str | None = None,
207
209
  candidate_feature_name: str | None = None,
208
210
  neg_behavior_feature_name: str | None = None,
@@ -226,6 +228,8 @@ class DIEN(BaseModel):
226
228
  dense_features=dense_features,
227
229
  sparse_features=sparse_features,
228
230
  sequence_features=sequence_features,
231
+ target=target,
232
+ task=task,
229
233
  **kwargs,
230
234
  )
231
235
 
@@ -72,6 +72,8 @@ class DIN(BaseModel):
72
72
  dense_features: list[DenseFeature] | None = None,
73
73
  sparse_features: list[SparseFeature] | None = None,
74
74
  sequence_features: list[SequenceFeature] | None = None,
75
+ target: str | list[str] | None = None,
76
+ task: str | list[str] | None = None,
75
77
  behavior_feature_name: str | None = None,
76
78
  candidate_feature_name: str | None = None,
77
79
  mlp_params: dict | None = None,
@@ -92,6 +94,8 @@ class DIN(BaseModel):
92
94
  dense_features=dense_features,
93
95
  sparse_features=sparse_features,
94
96
  sequence_features=sequence_features,
97
+ target=target,
98
+ task=task,
95
99
  **kwargs,
96
100
  )
97
101
 
@@ -199,6 +199,8 @@ class EulerNet(BaseModel):
199
199
  dense_features: list[DenseFeature] | None = None,
200
200
  sparse_features: list[SparseFeature] | None = None,
201
201
  sequence_features: list[SequenceFeature] | None = None,
202
+ target: str | list[str] | None = None,
203
+ task: str | list[str] | None = None,
202
204
  num_layers: int = 2,
203
205
  num_orders: int = 8,
204
206
  use_implicit: bool = True,
@@ -215,6 +217,8 @@ class EulerNet(BaseModel):
215
217
  dense_features=dense_features,
216
218
  sparse_features=sparse_features,
217
219
  sequence_features=sequence_features,
220
+ target=target,
221
+ task=task,
218
222
  **kwargs,
219
223
  )
220
224
 
@@ -62,6 +62,8 @@ class FFM(BaseModel):
62
62
  dense_features: list[DenseFeature] | None = None,
63
63
  sparse_features: list[SparseFeature] | None = None,
64
64
  sequence_features: list[SequenceFeature] | None = None,
65
+ target: str | list[str] | None = None,
66
+ task: str | list[str] | None = None,
65
67
  **kwargs,
66
68
  ):
67
69
  dense_features = dense_features or []
@@ -72,6 +74,8 @@ class FFM(BaseModel):
72
74
  dense_features=dense_features,
73
75
  sparse_features=sparse_features,
74
76
  sequence_features=sequence_features,
77
+ target=target,
78
+ task=task,
75
79
  **kwargs,
76
80
  )
77
81
 
@@ -68,6 +68,8 @@ class FiBiNET(BaseModel):
68
68
  dense_features: list[DenseFeature] | None = None,
69
69
  sparse_features: list[SparseFeature] | None = None,
70
70
  sequence_features: list[SequenceFeature] | None = None,
71
+ target: str | list[str] | None = None,
72
+ task: str | list[str] | None = None,
71
73
  mlp_params: dict | None = None,
72
74
  interaction_combo: Literal[
73
75
  "01", "11", "10", "00"
@@ -88,6 +90,8 @@ class FiBiNET(BaseModel):
88
90
  dense_features=dense_features,
89
91
  sparse_features=sparse_features,
90
92
  sequence_features=sequence_features,
93
+ target=target,
94
+ task=task,
91
95
  **kwargs,
92
96
  )
93
97
 
@@ -59,6 +59,8 @@ class FM(BaseModel):
59
59
  dense_features: list[DenseFeature] | None = None,
60
60
  sparse_features: list[SparseFeature] | None = None,
61
61
  sequence_features: list[SequenceFeature] | None = None,
62
+ target: str | list[str] | None = None,
63
+ task: str | list[str] | None = None,
62
64
  **kwargs,
63
65
  ):
64
66
 
@@ -70,6 +72,8 @@ class FM(BaseModel):
70
72
  dense_features=dense_features,
71
73
  sparse_features=sparse_features,
72
74
  sequence_features=sequence_features,
75
+ target=target,
76
+ task=task,
73
77
  **kwargs,
74
78
  )
75
79
 
@@ -58,6 +58,8 @@ class LR(BaseModel):
58
58
  dense_features: list[DenseFeature] | None = None,
59
59
  sparse_features: list[SparseFeature] | None = None,
60
60
  sequence_features: list[SequenceFeature] | None = None,
61
+ target: str | list[str] | None = None,
62
+ task: str | list[str] | None = None,
61
63
  **kwargs,
62
64
  ):
63
65
 
@@ -69,6 +71,8 @@ class LR(BaseModel):
69
71
  dense_features=dense_features,
70
72
  sparse_features=sparse_features,
71
73
  sequence_features=sequence_features,
74
+ target=target,
75
+ task=task,
72
76
  **kwargs,
73
77
  )
74
78
 
@@ -166,6 +166,8 @@ class MaskNet(BaseModel):
166
166
  dense_features: list[DenseFeature] | None = None,
167
167
  sparse_features: list[SparseFeature] | None = None,
168
168
  sequence_features: list[SequenceFeature] | None = None,
169
+ target: str | list[str] | None = None,
170
+ task: str | list[str] | None = None,
169
171
  architecture: Literal[
170
172
  "serial", "parallel"
171
173
  ] = "parallel", # "serial" or "parallel"
@@ -185,6 +187,8 @@ class MaskNet(BaseModel):
185
187
  dense_features=dense_features,
186
188
  sparse_features=sparse_features,
187
189
  sequence_features=sequence_features,
190
+ target=target,
191
+ task=task,
188
192
  **kwargs,
189
193
  )
190
194
 
@@ -57,6 +57,8 @@ class PNN(BaseModel):
57
57
  dense_features: list[DenseFeature] | None = None,
58
58
  sparse_features: list[SparseFeature] | None = None,
59
59
  sequence_features: list[SequenceFeature] | None = None,
60
+ target: str | list[str] | None = None,
61
+ task: str | list[str] | None = None,
60
62
  mlp_params: dict | None = None,
61
63
  product_type: Literal[
62
64
  "inner", "outer", "both"
@@ -76,6 +78,8 @@ class PNN(BaseModel):
76
78
  dense_features=dense_features,
77
79
  sparse_features=sparse_features,
78
80
  sequence_features=sequence_features,
81
+ target=target,
82
+ task=task,
79
83
  **kwargs,
80
84
  )
81
85
 
@@ -57,14 +57,20 @@ class WideDeep(BaseModel):
57
57
  dense_features: list[DenseFeature],
58
58
  sparse_features: list[SparseFeature],
59
59
  sequence_features: list[SequenceFeature],
60
- mlp_params: dict,
60
+ target: str | list[str] | None = None,
61
+ task: str | list[str] | None = None,
62
+ mlp_params: dict | None = None,
61
63
  **kwargs,
62
64
  ):
63
65
 
66
+ mlp_params = mlp_params or {}
67
+
64
68
  super(WideDeep, self).__init__(
65
69
  dense_features=dense_features,
66
70
  sparse_features=sparse_features,
67
71
  sequence_features=sequence_features,
72
+ target=target,
73
+ task=task,
68
74
  **kwargs,
69
75
  )
70
76
 
@@ -116,18 +116,23 @@ class xDeepFM(BaseModel):
116
116
  dense_features: list[DenseFeature],
117
117
  sparse_features: list[SparseFeature],
118
118
  sequence_features: list[SequenceFeature],
119
- mlp_params: dict,
119
+ target: str | list[str] | None = None,
120
+ task: str | list[str] | None = None,
121
+ mlp_params: dict | None = None,
120
122
  cin_size: list[int] | None = None,
121
123
  split_half: bool = True,
122
124
  **kwargs,
123
125
  ):
124
126
 
125
127
  cin_size = cin_size or [128, 128]
128
+ mlp_params = mlp_params or {}
126
129
 
127
130
  super(xDeepFM, self).__init__(
128
131
  dense_features=dense_features,
129
132
  sparse_features=sparse_features,
130
133
  sequence_features=sequence_features,
134
+ target=target,
135
+ task=task,
131
136
  **kwargs,
132
137
  )
133
138
 
@@ -119,6 +119,12 @@ train:
119
119
  use_swanlab: false # Enable SwanLab logging
120
120
  # wandb_api: YOUR_WANDB_API_KEY # Optional API key for non-tty login
121
121
  # swanlab_api: YOUR_SWANLAB_API_KEY # Optional API key for non-tty login
122
+ # wandb_kwargs: # Optional kwargs for wandb.init(...)
123
+ # project: NextRec
124
+ # name: example_run
125
+ # swanlab_kwargs: # Optional kwargs for swanlab.init(...)
126
+ # project: NextRec
127
+ # name: example_run
122
128
  device: cpu # Device: cpu, cuda, cuda:0, mps
123
129
  ```
124
130
 
@@ -185,6 +191,8 @@ train:
185
191
  - `use_swanlab`: Enable SwanLab logging
186
192
  - `wandb_api`: W&B API key for non-tty login
187
193
  - `swanlab_api`: SwanLab API key for non-tty login
194
+ - `wandb_kwargs`: Optional kwargs for `wandb.init(...)`
195
+ - `swanlab_kwargs`: Optional kwargs for `swanlab.init(...)`
188
196
  - `device`: Computing device
189
197
  - `cpu`: CPU
190
198
  - `cuda`: NVIDIA GPU
@@ -119,6 +119,12 @@ train:
119
119
  use_swanlab: false # 启用 SwanLab 日志
120
120
  # wandb_api: YOUR_WANDB_API_KEY # 可选,非交互登录用 API Key
121
121
  # swanlab_api: YOUR_SWANLAB_API_KEY # 可选,非交互登录用 API Key
122
+ # wandb_kwargs: # 可选,wandb.init(...) 参数
123
+ # project: NextRec
124
+ # name: example_run
125
+ # swanlab_kwargs: # 可选,swanlab.init(...) 参数
126
+ # project: NextRec
127
+ # name: example_run
122
128
  device: cpu # 设备:cpu, cuda, cuda:0, mps
123
129
  ```
124
130
 
@@ -185,6 +191,8 @@ train:
185
191
  - `use_swanlab`: 启用 SwanLab 日志
186
192
  - `wandb_api`: W&B API key(非交互登录)
187
193
  - `swanlab_api`: SwanLab API key(非交互登录)
194
+ - `wandb_kwargs`: `wandb.init(...)` 参数
195
+ - `swanlab_kwargs`: `swanlab.init(...)` 参数
188
196
  - `device`: 运行设备
189
197
  - `cpu`: CPU
190
198
  - `cuda`: NVIDIA GPU
@@ -42,6 +42,12 @@ train:
42
42
  # note: "baseline run" # Optional training note
43
43
  # wandb_api: YOUR_WANDB_API_KEY # Optional API key for non-tty login
44
44
  # swanlab_api: YOUR_SWANLAB_API_KEY # Optional API key for non-tty login
45
+ # wandb_kwargs: # Optional kwargs for wandb.init(...)
46
+ # project: NextRec
47
+ # name: example_run
48
+ # swanlab_kwargs: # Optional kwargs for swanlab.init(...)
49
+ # project: NextRec
50
+ # name: example_run
45
51
 
46
52
  # cd nextrec_cli_preset
47
53
  # nextrec --mode train --train_config train_config.yaml
@@ -160,6 +160,12 @@ train:
160
160
  use_swanlab: false # Enable SwanLab logging
161
161
  # wandb_api: YOUR_WANDB_API_KEY # Optional API key for non-tty login
162
162
  # swanlab_api: YOUR_SWANLAB_API_KEY # Optional API key for non-tty login
163
+ # wandb_kwargs: # Optional kwargs for wandb.init(...)
164
+ # project: NextRec
165
+ # name: example_run
166
+ # swanlab_kwargs: # Optional kwargs for swanlab.init(...)
167
+ # project: NextRec
168
+ # name: example_run
163
169
 
164
170
  device: cpu # Computation device
165
171
  # Options:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nextrec"
3
- version = "0.4.29"
3
+ version = "0.4.31"
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.29"
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