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.
- {nextrec-0.4.17 → nextrec-0.4.19}/PKG-INFO +8 -7
- {nextrec-0.4.17 → nextrec-0.4.19}/README.md +7 -6
- {nextrec-0.4.17 → nextrec-0.4.19}/README_en.md +7 -5
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/conf.py +1 -1
- nextrec-0.4.19/nextrec/__version__.py +1 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/heads.py +1 -3
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/loggers.py +5 -5
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/model.py +210 -82
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/cli.py +5 -5
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/dataloader.py +93 -95
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/preprocessor.py +108 -46
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/grad_norm.py +13 -13
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/esmm.py +9 -11
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/mmoe.py +18 -18
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/ple.py +33 -33
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/poso.py +21 -20
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/share_bottom.py +16 -16
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/afm.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/autoint.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/dcn.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/dcn_v2.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/deepfm.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/eulernet.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/ffm.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/fm.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/lr.py +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/masknet.py +2 -4
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/pnn.py +3 -3
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/widedeep.py +6 -7
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/xdeepfm.py +3 -3
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/console.py +1 -1
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/data.py +154 -32
- nextrec-0.4.19/nextrec/utils/model.py +143 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/NextRec-CLI.md +8 -9
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/NextRec-CLI_zh.md +10 -11
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/predict_config.yaml +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/predict_config_template.yaml +2 -2
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/train_config_template.yaml +1 -1
- {nextrec-0.4.17 → nextrec-0.4.19}/pyproject.toml +1 -1
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_multitask_models.py +13 -13
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_preprocessor.py +31 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_utils_data.py +58 -3
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/distributed/example_distributed_training.py +1 -1
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/distributed/example_distributed_training_large_dataset.py +2 -2
- nextrec-0.4.19/tutorials/example_match.py +164 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/run_all_match_models.py +1 -1
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/run_all_multitask_models.py +1 -1
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/run_all_ranking_models.py +1 -1
- nextrec-0.4.17/nextrec/__version__.py +0 -1
- nextrec-0.4.17/nextrec/utils/model.py +0 -58
- {nextrec-0.4.17 → nextrec-0.4.19}/.github/workflows/publish.yml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/.github/workflows/tests.yml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/.gitignore +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/.readthedocs.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/CODE_OF_CONDUCT.md +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/CONTRIBUTING.md +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/LICENSE +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/MANIFEST.in +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/Feature Configuration.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/Model Parameters.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/Training Configuration.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/Training logs.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/logo.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/mmoe_tutorial.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/nextrec_diagram.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/assets/test data.png +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/dataset/ctcvr_task.csv +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/dataset/ecommerce_task.csv +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/dataset/match_task.csv +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/dataset/movielens_100k.csv +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/dataset/multitask_task.csv +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/dataset/ranking_task.csv +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/en/Getting started guide.md +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/Makefile +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/index.md +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/make.bat +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/modules.rst +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.basic.rst +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.data.rst +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.loss.rst +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.rst +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/nextrec.utils.rst +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/docs/rtd/requirements.txt +0 -0
- {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
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/activation.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/callback.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/features.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/layers.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/metrics.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/basic/session.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/batch_utils.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/data_processing.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/data/data_utils.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/listwise.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/loss_utils.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/pairwise.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/loss/pointwise.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/generative/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/generative/tiger.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/multi_task/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/dien.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/din.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/ranking/fibinet.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/autorec.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/bpr.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/cl4srec.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/lightgcn.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/mf.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/rqvae.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/representation/s3rec.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/dssm.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/dssm_v2.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/mind.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/sdm.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/retrieval/youtube_dnn.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/sequential/hstu.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/models/sequential/sasrec.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/config.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/embedding.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/feature.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec/utils/torch_utils.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/feature_config.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/afm.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/autoint.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/dcn.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/deepfm.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/din.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/esmm.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/fibinet.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/fm.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/masknet.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/mmoe.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/ple.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/pnn.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/poso.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/share_bottom.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/widedeep.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/model_configs/xdeepfm.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/nextrec_cli_preset/train_config.yaml +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/pytest.ini +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/requirements.txt +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/scripts/format_code.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/__init__.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/conftest.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/helpers.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/run_tests.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_base_model_regularization.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_generative_models.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_layers.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_losses.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_match_models.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_ranking_models.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_utils_console.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test/test_utils_embedding.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/test_requirements.txt +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/example_multitask.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/example_ranking_din.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/movielen_match_dssm.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/movielen_ranking_deepfm.py +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/en/Build semantic ID with RQ-VAE.ipynb +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/en/Hands on dataprocessor.ipynb +0 -0
- {nextrec-0.4.17 → nextrec-0.4.19}/tutorials/notebooks/en/Hands on nextrec.ipynb +0 -0
- {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
- {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
- {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.
|
|
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
|
-
[](https://
|
|
66
|
+
[](https://pypistats.org/packages/nextrec)
|
|
67
67
|

|
|
68
68
|

|
|
69
|
-
|
|
70
69
|

|
|
71
|
-

|
|
71
|
+
[](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
|
-
|
|
246
|
+
预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
|
|
247
|
+
|
|
248
|
+
> 截止当前版本0.4.19,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
|
|
248
249
|
|
|
249
250
|
## 兼容平台
|
|
250
251
|
|
|
251
|
-
当前最新版本为0.4.
|
|
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
|
-
[](https://
|
|
7
|
+
[](https://pypistats.org/packages/nextrec)
|
|
8
8
|

|
|
9
9
|

|
|
10
|
-
|
|
11
10
|

|
|
12
|
-

|
|
12
|
+
[](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
|
-
|
|
187
|
+
预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
|
|
188
|
+
|
|
189
|
+
> 截止当前版本0.4.19,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
|
|
189
190
|
|
|
190
191
|
## 兼容平台
|
|
191
192
|
|
|
192
|
-
当前最新版本为0.4.
|
|
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
|
-
[](https://
|
|
7
|
+
[](https://pypistats.org/packages/nextrec)
|
|
8
8
|

|
|
9
9
|

|
|
10
|
-
|
|
11
10
|

|
|
12
|
-

|
|
12
|
+
[](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
|
-
|
|
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.
|
|
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
|
|----------|---------------|
|
|
@@ -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
|
|
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
|
-
|
|
151
|
+
use_tensorboard: bool,
|
|
152
152
|
log_name: str = "training_metrics.jsonl",
|
|
153
153
|
) -> None:
|
|
154
154
|
self.session = session
|
|
155
|
-
self.
|
|
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.
|
|
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.
|
|
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)
|