nextrec 0.4.24__py3-none-any.whl → 0.4.27__py3-none-any.whl
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/__version__.py +1 -1
- nextrec/basic/asserts.py +72 -0
- nextrec/basic/loggers.py +18 -1
- nextrec/basic/model.py +191 -71
- nextrec/basic/summary.py +58 -0
- nextrec/cli.py +13 -0
- nextrec/data/data_processing.py +3 -9
- nextrec/data/dataloader.py +25 -2
- nextrec/data/preprocessor.py +283 -36
- nextrec/models/multi_task/[pre]aitm.py +173 -0
- nextrec/models/multi_task/[pre]snr_trans.py +232 -0
- nextrec/models/multi_task/[pre]star.py +192 -0
- nextrec/models/multi_task/apg.py +330 -0
- nextrec/models/multi_task/cross_stitch.py +229 -0
- nextrec/models/multi_task/escm.py +290 -0
- nextrec/models/multi_task/esmm.py +8 -21
- nextrec/models/multi_task/hmoe.py +203 -0
- nextrec/models/multi_task/mmoe.py +20 -28
- nextrec/models/multi_task/pepnet.py +68 -66
- nextrec/models/multi_task/ple.py +30 -44
- nextrec/models/multi_task/poso.py +13 -22
- nextrec/models/multi_task/share_bottom.py +14 -25
- nextrec/models/ranking/afm.py +2 -2
- nextrec/models/ranking/autoint.py +2 -4
- nextrec/models/ranking/dcn.py +2 -3
- nextrec/models/ranking/dcn_v2.py +2 -3
- nextrec/models/ranking/deepfm.py +2 -3
- nextrec/models/ranking/dien.py +7 -9
- nextrec/models/ranking/din.py +8 -10
- nextrec/models/ranking/eulernet.py +1 -2
- nextrec/models/ranking/ffm.py +1 -2
- nextrec/models/ranking/fibinet.py +2 -3
- nextrec/models/ranking/fm.py +1 -1
- nextrec/models/ranking/lr.py +1 -1
- nextrec/models/ranking/masknet.py +1 -2
- nextrec/models/ranking/pnn.py +1 -2
- nextrec/models/ranking/widedeep.py +2 -3
- nextrec/models/ranking/xdeepfm.py +2 -4
- nextrec/models/representation/rqvae.py +4 -4
- nextrec/models/retrieval/dssm.py +18 -26
- nextrec/models/retrieval/dssm_v2.py +15 -22
- nextrec/models/retrieval/mind.py +9 -15
- nextrec/models/retrieval/sdm.py +36 -33
- nextrec/models/retrieval/youtube_dnn.py +16 -24
- nextrec/models/sequential/hstu.py +2 -2
- nextrec/utils/__init__.py +5 -1
- nextrec/utils/config.py +2 -0
- nextrec/utils/model.py +16 -77
- nextrec/utils/torch_utils.py +11 -0
- {nextrec-0.4.24.dist-info → nextrec-0.4.27.dist-info}/METADATA +72 -62
- nextrec-0.4.27.dist-info/RECORD +90 -0
- nextrec/models/multi_task/aitm.py +0 -0
- nextrec/models/multi_task/snr_trans.py +0 -0
- nextrec-0.4.24.dist-info/RECORD +0 -86
- {nextrec-0.4.24.dist-info → nextrec-0.4.27.dist-info}/WHEEL +0 -0
- {nextrec-0.4.24.dist-info → nextrec-0.4.27.dist-info}/entry_points.txt +0 -0
- {nextrec-0.4.24.dist-info → nextrec-0.4.27.dist-info}/licenses/LICENSE +0 -0
nextrec/utils/config.py
CHANGED
|
@@ -116,6 +116,7 @@ def register_processor_features(
|
|
|
116
116
|
name,
|
|
117
117
|
encode_method=proc_cfg.get("encode_method", "hash"),
|
|
118
118
|
hash_size=proc_cfg.get("hash_size") or proc_cfg.get("vocab_size"),
|
|
119
|
+
min_freq=proc_cfg.get("min_freq"),
|
|
119
120
|
fill_na=proc_cfg.get("fill_na", "<UNK>"),
|
|
120
121
|
)
|
|
121
122
|
|
|
@@ -125,6 +126,7 @@ def register_processor_features(
|
|
|
125
126
|
name,
|
|
126
127
|
encode_method=proc_cfg.get("encode_method", "hash"),
|
|
127
128
|
hash_size=proc_cfg.get("hash_size") or proc_cfg.get("vocab_size"),
|
|
129
|
+
min_freq=proc_cfg.get("min_freq"),
|
|
128
130
|
max_len=proc_cfg.get("max_len", 50),
|
|
129
131
|
pad_value=proc_cfg.get("pad_value", 0),
|
|
130
132
|
truncate=proc_cfg.get("truncate", "post"),
|
nextrec/utils/model.py
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Model-related utilities for NextRec
|
|
3
3
|
|
|
4
4
|
Date: create on 03/12/2025
|
|
5
|
-
Checkpoint: edit on
|
|
5
|
+
Checkpoint: edit on 31/12/2025
|
|
6
6
|
Author: Yang Zhou, zyaztec@gmail.com
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
from collections import OrderedDict
|
|
10
10
|
|
|
11
11
|
import torch
|
|
12
|
-
|
|
12
|
+
import torch.nn as nn
|
|
13
13
|
|
|
14
14
|
from nextrec.loss import (
|
|
15
15
|
ApproxNDCGLoss,
|
|
@@ -20,13 +20,10 @@ from nextrec.loss import (
|
|
|
20
20
|
SampledSoftmaxLoss,
|
|
21
21
|
TripletLoss,
|
|
22
22
|
)
|
|
23
|
+
|
|
23
24
|
from nextrec.utils.types import (
|
|
24
25
|
LossName,
|
|
25
|
-
OptimizerName,
|
|
26
|
-
SchedulerName,
|
|
27
26
|
TrainingModeName,
|
|
28
|
-
TaskTypeName,
|
|
29
|
-
MetricsName,
|
|
30
27
|
)
|
|
31
28
|
|
|
32
29
|
|
|
@@ -73,7 +70,7 @@ def compute_pair_scores(model, data, batch_size: int = 512):
|
|
|
73
70
|
user_tensor = torch.as_tensor(user_emb, device=model.device)
|
|
74
71
|
item_tensor = torch.as_tensor(item_emb, device=model.device)
|
|
75
72
|
scores = model.compute_similarity(user_tensor, item_tensor)
|
|
76
|
-
mode = model.
|
|
73
|
+
mode = model.training_modes
|
|
77
74
|
if isinstance(mode, list):
|
|
78
75
|
mode = mode[0] if mode else "pointwise"
|
|
79
76
|
if mode == "pointwise":
|
|
@@ -81,82 +78,24 @@ def compute_pair_scores(model, data, batch_size: int = 512):
|
|
|
81
78
|
return scores.detach().cpu().numpy()
|
|
82
79
|
|
|
83
80
|
|
|
84
|
-
def get_training_modes(
|
|
85
|
-
training_mode,
|
|
86
|
-
nums_task: int,
|
|
87
|
-
valid_modes: set[str] | None = None,
|
|
88
|
-
) -> list:
|
|
89
|
-
valid_modes = valid_modes or {"pointwise", "pairwise", "listwise"}
|
|
90
|
-
if isinstance(training_mode, list):
|
|
91
|
-
training_modes = list(training_mode)
|
|
92
|
-
if len(training_modes) != nums_task:
|
|
93
|
-
raise ValueError(
|
|
94
|
-
"[BaseModel-init Error] training_mode list length must match number of tasks."
|
|
95
|
-
)
|
|
96
|
-
else:
|
|
97
|
-
training_modes = [training_mode] * nums_task
|
|
98
|
-
if any(mode not in valid_modes for mode in training_modes):
|
|
99
|
-
raise ValueError(
|
|
100
|
-
"[BaseModel-init Error] training_mode must be one of {'pointwise', 'pairwise', 'listwise'}."
|
|
101
|
-
)
|
|
102
|
-
return training_modes
|
|
103
|
-
|
|
104
|
-
|
|
105
81
|
def get_loss_list(
|
|
106
|
-
loss,
|
|
107
|
-
training_modes: list[str],
|
|
82
|
+
loss: LossName | nn.Module | list[LossName | nn.Module] | None,
|
|
83
|
+
training_modes: TrainingModeName | list[TrainingModeName] | list[str],
|
|
108
84
|
nums_task: int,
|
|
109
|
-
default_losses: dict[str, str],
|
|
110
85
|
):
|
|
111
|
-
|
|
112
|
-
|
|
86
|
+
default_losses = {
|
|
87
|
+
"pointwise": "bce",
|
|
88
|
+
"pairwise": "bpr",
|
|
89
|
+
"listwise": "listnet",
|
|
90
|
+
}
|
|
91
|
+
if loss is None:
|
|
113
92
|
loss_list = [default_losses[mode] for mode in training_modes]
|
|
114
|
-
elif isinstance(
|
|
115
|
-
|
|
116
|
-
loss_list = [default_losses[mode] for mode in training_modes]
|
|
117
|
-
else:
|
|
118
|
-
if len(effective_loss) != nums_task:
|
|
119
|
-
raise ValueError(
|
|
120
|
-
f"[BaseModel-compile Error] Number of loss functions ({len(effective_loss)}) must match number of tasks ({nums_task})."
|
|
121
|
-
)
|
|
122
|
-
loss_list = list(effective_loss)
|
|
93
|
+
elif isinstance(loss, list):
|
|
94
|
+
loss_list = loss
|
|
123
95
|
else:
|
|
124
|
-
loss_list = [
|
|
125
|
-
|
|
126
|
-
for idx, mode in enumerate(training_modes):
|
|
127
|
-
if isinstance(loss_list[idx], str) and loss_list[idx] in {
|
|
128
|
-
"bce",
|
|
129
|
-
"binary_crossentropy",
|
|
130
|
-
}:
|
|
131
|
-
if mode in {"pairwise", "listwise"}:
|
|
132
|
-
loss_list[idx] = default_losses[mode]
|
|
133
|
-
return loss_list
|
|
96
|
+
loss_list = [loss] * nums_task
|
|
134
97
|
|
|
135
|
-
|
|
136
|
-
def resolve_loss_weights(loss_weights, nums_task: int):
|
|
137
|
-
if loss_weights is None:
|
|
138
|
-
return None
|
|
139
|
-
if nums_task == 1:
|
|
140
|
-
if isinstance(loss_weights, (list, tuple)):
|
|
141
|
-
if len(loss_weights) != 1:
|
|
142
|
-
raise ValueError(
|
|
143
|
-
"[BaseModel-compile Error] loss_weights list must have exactly one element for single-task setup."
|
|
144
|
-
)
|
|
145
|
-
loss_weights = loss_weights[0]
|
|
146
|
-
return [float(loss_weights)]
|
|
147
|
-
if isinstance(loss_weights, (int, float)):
|
|
148
|
-
weights = [float(loss_weights)] * nums_task
|
|
149
|
-
elif isinstance(loss_weights, (list, tuple)):
|
|
150
|
-
weights = [float(w) for w in loss_weights]
|
|
151
|
-
if len(weights) != nums_task:
|
|
152
|
-
raise ValueError(
|
|
153
|
-
f"[BaseModel-compile Error] Number of loss_weights ({len(weights)}) must match number of tasks ({nums_task})."
|
|
154
|
-
)
|
|
155
|
-
else:
|
|
156
|
-
raise TypeError(
|
|
157
|
-
f"[BaseModel-compile Error] loss_weights must be int, float, list or tuple, got {type(loss_weights)}"
|
|
158
|
-
)
|
|
159
|
-
return weights
|
|
98
|
+
return loss_list
|
|
160
99
|
|
|
161
100
|
|
|
162
101
|
def prepare_ranking_targets(
|
nextrec/utils/torch_utils.py
CHANGED
|
@@ -204,6 +204,11 @@ def get_scheduler(
|
|
|
204
204
|
)
|
|
205
205
|
else:
|
|
206
206
|
raise NotImplementedError(f"Unsupported scheduler: {scheduler}")
|
|
207
|
+
elif isinstance(scheduler, type) and issubclass(
|
|
208
|
+
scheduler,
|
|
209
|
+
(torch.optim.lr_scheduler._LRScheduler, torch.optim.lr_scheduler.LRScheduler),
|
|
210
|
+
):
|
|
211
|
+
scheduler_fn = scheduler(optimizer, **scheduler_params)
|
|
207
212
|
elif isinstance(
|
|
208
213
|
scheduler,
|
|
209
214
|
(torch.optim.lr_scheduler._LRScheduler, torch.optim.lr_scheduler.LRScheduler),
|
|
@@ -215,6 +220,12 @@ def get_scheduler(
|
|
|
215
220
|
return scheduler_fn
|
|
216
221
|
|
|
217
222
|
|
|
223
|
+
def to_numpy(values: Any) -> np.ndarray:
|
|
224
|
+
if isinstance(values, torch.Tensor):
|
|
225
|
+
return values.detach().cpu().numpy()
|
|
226
|
+
return np.asarray(values)
|
|
227
|
+
|
|
228
|
+
|
|
218
229
|
def to_tensor(
|
|
219
230
|
value: Any, dtype: torch.dtype, device: torch.device | str | None = None
|
|
220
231
|
) -> torch.Tensor:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nextrec
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.27
|
|
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
|

|
|
70
70
|

|
|
71
71
|

|
|
72
|
-

|
|
73
73
|
[](https://deepwiki.com/zerolovesea/NextRec)
|
|
74
74
|
|
|
75
75
|
中文文档 | [English Version](README_en.md)
|
|
@@ -102,13 +102,14 @@ NextRec是一个基于PyTorch的现代推荐系统框架,旨在为研究工程
|
|
|
102
102
|
- **高效训练与评估**:内置多种优化器、学习率调度、早停、模型检查点与详细的日志管理,开箱即用。
|
|
103
103
|
|
|
104
104
|
## NextRec近期进展
|
|
105
|
+
- **01/01/2026** 新年好,在v0.4.27中加入了多个多目标模型的支持:[APG](nextrec/models/multi_task/apg.py), [ESCM](nextrec/models/multi_task/escm.py), [HMoE](nextrec/models/multi_task/hmoe.py), [Cross Stitch](nextrec/models/multi_task/cross_stitch.py)
|
|
105
106
|
- **28/12/2025** 在v0.4.21中加入了对SwanLab和Wandb的支持,通过model的`fit`方法进行配置:`use_swanlab=True, swanlab_kwargs={"project": "NextRec","name":"tutorial_movielens_deepfm"},`
|
|
106
107
|
- **21/12/2025** 在v0.4.16中加入了对[GradNorm](/nextrec/loss/grad_norm.py)的支持,通过compile的`loss_weight='grad_norm'`进行配置
|
|
107
108
|
- **12/12/2025** 在v0.4.9中加入了[RQ-VAE](/nextrec/models/representation/rqvae.py)模块。配套的[数据集](/dataset/ecommerce_task.csv)和[代码](tutorials/notebooks/zh/使用RQ-VAE构建语义ID.ipynb)已经同步在仓库中
|
|
108
109
|
- **07/12/2025** 发布了NextRec CLI命令行工具,它允许用户根据配置文件进行一键训练和推理,我们提供了相关的[教程](/nextrec_cli_preset/NextRec-CLI_zh.md)和[教学代码](/nextrec_cli_preset)
|
|
109
110
|
- **03/12/2025** NextRec获得了100颗🌟!感谢大家的支持
|
|
110
111
|
- **06/12/2025** 在v0.4.1中支持了单机多卡的分布式DDP训练,并且提供了配套的[代码](tutorials/distributed)
|
|
111
|
-
- **11/11/2025** NextRec v0.1.0发布,我们提供了10余种Ranking模型,
|
|
112
|
+
- **11/11/2025** NextRec v0.1.0发布,我们提供了10余种Ranking模型,11种多任务模型和4种召回模型,以及统一的训练/日志/指标管理系统
|
|
112
113
|
|
|
113
114
|
## 架构
|
|
114
115
|
|
|
@@ -194,15 +195,13 @@ model = DIN(
|
|
|
194
195
|
behavior_feature_name="sequence_0",
|
|
195
196
|
candidate_feature_name="item_id",
|
|
196
197
|
mlp_params=mlp_params,
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
attention_mlp_params={
|
|
199
|
+
"hidden_dims": [80, 40],
|
|
200
|
+
"activation": "sigmoid",
|
|
201
|
+
},
|
|
199
202
|
attention_use_softmax=True,
|
|
200
|
-
target=
|
|
201
|
-
device='
|
|
202
|
-
embedding_l1_reg=1e-6,
|
|
203
|
-
embedding_l2_reg=1e-5,
|
|
204
|
-
dense_l1_reg=1e-5,
|
|
205
|
-
dense_l2_reg=1e-4,
|
|
203
|
+
target='label', # 目标变量
|
|
204
|
+
device='cpu',
|
|
206
205
|
session_id="din_tutorial", # 实验id,用于存放训练日志
|
|
207
206
|
)
|
|
208
207
|
|
|
@@ -220,7 +219,13 @@ model.fit(
|
|
|
220
219
|
epochs=3,
|
|
221
220
|
batch_size=512,
|
|
222
221
|
shuffle=True,
|
|
223
|
-
user_id_column='user_id'
|
|
222
|
+
user_id_column='user_id', # 用于计算GAUC的id列
|
|
223
|
+
valid_ratio=0.2, # 自动划分验证集(可选)
|
|
224
|
+
num_workers=4, # DataLoader 并行数
|
|
225
|
+
use_wandb=False, # 启用 Wandb(可选)
|
|
226
|
+
wandb_kwargs={"project": "NextRec", "name": "din_tutorial"},
|
|
227
|
+
use_swanlab=False, # 启用 SwanLab(可选)
|
|
228
|
+
swanlab_kwargs={"project": "NextRec", "name": "din_tutorial"},
|
|
224
229
|
)
|
|
225
230
|
|
|
226
231
|
# 训练完成后进行指标评估
|
|
@@ -249,11 +254,11 @@ nextrec --mode=predict --predict_config=path/to/predict_config.yaml
|
|
|
249
254
|
|
|
250
255
|
预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
|
|
251
256
|
|
|
252
|
-
> 截止当前版本0.4.
|
|
257
|
+
> 截止当前版本0.4.27,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
|
|
253
258
|
|
|
254
259
|
## 兼容平台
|
|
255
260
|
|
|
256
|
-
当前最新版本为0.4.
|
|
261
|
+
当前最新版本为0.4.27,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
|
|
257
262
|
|
|
258
263
|
| 平台 | 配置 |
|
|
259
264
|
|------|------|
|
|
@@ -266,69 +271,74 @@ nextrec --mode=predict --predict_config=path/to/predict_config.yaml
|
|
|
266
271
|
|
|
267
272
|
### 排序模型
|
|
268
273
|
|
|
269
|
-
| 模型 | 论文 |
|
|
270
|
-
|
|
271
|
-
| [FM](nextrec/models/ranking/fm.py) | Factorization
|
|
272
|
-
| [LR](nextrec/models/ranking/lr.py) | Logistic Regression |
|
|
273
|
-
| [AFM](nextrec/models/ranking/afm.py) | Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks |
|
|
274
|
-
| [FFM](nextrec/models/ranking/ffm.py) | Field-aware Factorization Machines
|
|
275
|
-
| [DeepFM](nextrec/models/ranking/deepfm.py) | DeepFM: A
|
|
276
|
-
| [Wide&Deep](nextrec/models/ranking/widedeep.py) | Wide & Deep
|
|
277
|
-
| [xDeepFM](nextrec/models/ranking/xdeepfm.py) |
|
|
278
|
-
| [FiBiNET](nextrec/models/ranking/fibinet.py) | FiBiNET: Combining
|
|
279
|
-
| [PNN](nextrec/models/ranking/pnn.py) | Product-based
|
|
280
|
-
| [AutoInt](nextrec/models/ranking/autoint.py) | AutoInt: Automatic
|
|
281
|
-
| [DCN](nextrec/models/ranking/dcn.py) | Deep &
|
|
282
|
-
| [DCN v2](nextrec/models/ranking/dcn_v2.py) | DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems |
|
|
283
|
-
| [DIN](nextrec/models/ranking/din.py) | Deep
|
|
284
|
-
| [DIEN](nextrec/models/ranking/dien.py) | Deep
|
|
285
|
-
| [MaskNet](nextrec/models/ranking/masknet.py) | MaskNet: Introducing Feature-
|
|
286
|
-
| [EulerNet](nextrec/models/ranking/eulernet.py) | EulerNet: Efficient and Effective Feature Interaction Modeling with Euler's Formula |
|
|
274
|
+
| 模型 | 论文 | 状态 |
|
|
275
|
+
| ------ | ------ | ------ |
|
|
276
|
+
| [FM](nextrec/models/ranking/fm.py) | Factorization machines | 已支持 |
|
|
277
|
+
| [LR](nextrec/models/ranking/lr.py) | Applied Logistic Regression | 已支持 |
|
|
278
|
+
| [AFM](nextrec/models/ranking/afm.py) | Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks | 已支持 |
|
|
279
|
+
| [FFM](nextrec/models/ranking/ffm.py) | Field-aware Factorization Machines for CTR Prediction | 已支持 |
|
|
280
|
+
| [DeepFM](nextrec/models/ranking/deepfm.py) | DeepFM: A factorization-machine based neural network for CTR prediction | 已支持 |
|
|
281
|
+
| [Wide&Deep](nextrec/models/ranking/widedeep.py) | Wide & Deep learning for recommender systems | 已支持 |
|
|
282
|
+
| [xDeepFM](nextrec/models/ranking/xdeepfm.py) | xdeepfm: Combining explicit and implicit feature interactions for recommender systems | 已支持 |
|
|
283
|
+
| [FiBiNET](nextrec/models/ranking/fibinet.py) | FiBiNET: Combining feature importance and bilinear feature interaction for click-through rate prediction | 已支持 |
|
|
284
|
+
| [PNN](nextrec/models/ranking/pnn.py) | Product-based neural networks for user response prediction | 已支持 |
|
|
285
|
+
| [AutoInt](nextrec/models/ranking/autoint.py) | AutoInt: Automatic feature interaction learning via self-attentive neural networks | 已支持 |
|
|
286
|
+
| [DCN](nextrec/models/ranking/dcn.py) | Deep & cross network for ad click predictions | 已支持 |
|
|
287
|
+
| [DCN v2](nextrec/models/ranking/dcn_v2.py) | DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems | 已支持 |
|
|
288
|
+
| [DIN](nextrec/models/ranking/din.py) | Deep interest network for click-through rate prediction | 已支持 |
|
|
289
|
+
| [DIEN](nextrec/models/ranking/dien.py) | Deep interest evolution network for click-through rate prediction | 已支持 |
|
|
290
|
+
| [MaskNet](nextrec/models/ranking/masknet.py) | MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask | 已支持 |
|
|
291
|
+
| [EulerNet](nextrec/models/ranking/eulernet.py) | EulerNet: Efficient and Effective Feature Interaction Modeling with Euler's Formula | 已支持 |
|
|
287
292
|
|
|
288
293
|
### 召回模型
|
|
289
294
|
|
|
290
|
-
| 模型 | 论文 |
|
|
291
|
-
|
|
292
|
-
| [DSSM](nextrec/models/retrieval/dssm.py) | Learning
|
|
293
|
-
| [DSSM v2](nextrec/models/retrieval/dssm_v2.py) | DSSM with pairwise
|
|
294
|
-
| [YouTube DNN](nextrec/models/retrieval/youtube_dnn.py) | Deep
|
|
295
|
-
| [MIND](nextrec/models/retrieval/mind.py) | Multi-
|
|
296
|
-
| [SDM](nextrec/models/retrieval/sdm.py) | Sequential
|
|
295
|
+
| 模型 | 论文 | 状态 |
|
|
296
|
+
| ------ | ------ | ------ |
|
|
297
|
+
| [DSSM](nextrec/models/retrieval/dssm.py) | Learning deep structured semantic models for web search using clickthrough data | 已支持 |
|
|
298
|
+
| [DSSM v2](nextrec/models/retrieval/dssm_v2.py) | DSSM v2 - DSSM with pairwise training using BPR loss | 已支持 |
|
|
299
|
+
| [YouTube DNN](nextrec/models/retrieval/youtube_dnn.py) | Deep neural networks for youtube recommendations | 已支持 |
|
|
300
|
+
| [MIND](nextrec/models/retrieval/mind.py) | Multi-interest network with dynamic routing for recommendation at Tmall | 已支持 |
|
|
301
|
+
| [SDM](nextrec/models/retrieval/sdm.py) | Sequential recommender system based on hierarchical attention networks | 已支持 |
|
|
297
302
|
|
|
298
303
|
### 序列推荐模型
|
|
299
304
|
|
|
300
|
-
| 模型 | 论文 |
|
|
301
|
-
|
|
302
|
-
| [SASRec](nextrec/models/sequential/sasrec.py) | Self-Attentive Sequential Recommendation |
|
|
303
|
-
| [HSTU](nextrec/models/sequential/hstu.py) | Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations |
|
|
305
|
+
| 模型 | 论文 | 状态 |
|
|
306
|
+
| ------ | ------ | ------ |
|
|
307
|
+
| [SASRec](nextrec/models/sequential/sasrec.py) | Self-Attentive Sequential Recommendation | 开发中 |
|
|
308
|
+
| [HSTU](nextrec/models/sequential/hstu.py) | Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations | 已支持 |
|
|
304
309
|
|
|
305
310
|
### 多任务模型
|
|
306
311
|
|
|
307
|
-
| 模型 | 论文 |
|
|
308
|
-
|
|
309
|
-
| [MMOE](nextrec/models/multi_task/mmoe.py) | Modeling Task Relationships in Multi-task Learning
|
|
310
|
-
| [PLE](nextrec/models/multi_task/ple.py) | Progressive Layered Extraction
|
|
311
|
-
| [ESMM](nextrec/models/multi_task/esmm.py) | Entire Space Multi-Task Model
|
|
312
|
-
| [ShareBottom](nextrec/models/multi_task/share_bottom.py) | Multitask Learning |
|
|
313
|
-
| [POSO](nextrec/models/multi_task/poso.py) | POSO: Personalized Cold
|
|
312
|
+
| 模型 | 论文 | 状态 |
|
|
313
|
+
| ------ | ------ | ------ |
|
|
314
|
+
| [MMOE](nextrec/models/multi_task/mmoe.py) | Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts | 已支持 |
|
|
315
|
+
| [PLE](nextrec/models/multi_task/ple.py) | Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations | 已支持 |
|
|
316
|
+
| [ESMM](nextrec/models/multi_task/esmm.py) | Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate | 已支持 |
|
|
317
|
+
| [ShareBottom](nextrec/models/multi_task/share_bottom.py) | Multitask Learning | 已支持 |
|
|
318
|
+
| [POSO](nextrec/models/multi_task/poso.py) | POSO: Personalized Cold Start Modules for Large-scale Recommender Systems | 已支持 |
|
|
319
|
+
| [PEPNet](nextrec/models/multi_task/pepnet.py) | PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information | 已支持 |
|
|
320
|
+
| [APG](nextrec/models/multi_task/apg.py) | APG: Adaptive Parameter Generation Network for Click-Through Rate Prediction | 已支持 |
|
|
321
|
+
| [CrossStitch](nextrec/models/multi_task/cross_stitch.py) | Cross-Stitch Networks for Multi-Task Learning | 已支持 |
|
|
322
|
+
| [ESCM](nextrec/models/multi_task/escm.py) | ESCM²: Entire Space Counterfactual Multi-Task Model for Post-Click Conversion Rate Estimation | 已支持 |
|
|
323
|
+
| [HMOE](nextrec/models/multi_task/hmoe.py) | Improving multi-scenario learning to rank in e-commerce by exploiting task relationships in the label space | 已支持 |
|
|
314
324
|
|
|
315
325
|
### 生成式模型
|
|
316
326
|
|
|
317
|
-
| 模型 | 论文 |
|
|
318
|
-
|
|
319
|
-
| [TIGER](nextrec/models/generative/tiger.py) | Recommender Systems with Generative Retrieval |
|
|
327
|
+
| 模型 | 论文 | 状态 |
|
|
328
|
+
| ------ | ------ | ------ |
|
|
329
|
+
| [TIGER](nextrec/models/generative/tiger.py) | Recommender Systems with Generative Retrieval | 开发中 |
|
|
320
330
|
|
|
321
331
|
### 表征模型
|
|
322
332
|
|
|
323
|
-
| 模型 | 论文 |
|
|
324
|
-
|
|
325
|
-
| [RQ-VAE](nextrec/models/representation/rqvae.py) |
|
|
326
|
-
| [BPR](nextrec/models/representation/bpr.py) | Bayesian Personalized Ranking |
|
|
327
|
-
| [MF](nextrec/models/representation/mf.py) | Matrix Factorization Techniques for Recommender Systems |
|
|
328
|
-
| [AutoRec](nextrec/models/representation/autorec.py) | AutoRec: Autoencoders Meet Collaborative Filtering |
|
|
329
|
-
| [LightGCN](nextrec/models/representation/lightgcn.py) | LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation |
|
|
330
|
-
| [S3Rec](nextrec/models/representation/s3rec.py) | S3-Rec: Self-Supervised Learning for Sequential Recommendation |
|
|
331
|
-
| [CL4SRec](nextrec/models/representation/cl4srec.py) | CL4SRec: Contrastive Learning for Sequential Recommendation |
|
|
333
|
+
| 模型 | 论文 | 状态 |
|
|
334
|
+
| ------ | ------ | ------ |
|
|
335
|
+
| [RQ-VAE](nextrec/models/representation/rqvae.py) | Autoregressive Image Generation using Residual Quantization | 已支持 |
|
|
336
|
+
| [BPR](nextrec/models/representation/bpr.py) | Bayesian Personalized Ranking | 开发中 |
|
|
337
|
+
| [MF](nextrec/models/representation/mf.py) | Matrix Factorization Techniques for Recommender Systems | 开发中 |
|
|
338
|
+
| [AutoRec](nextrec/models/representation/autorec.py) | AutoRec: Autoencoders Meet Collaborative Filtering | 开发中 |
|
|
339
|
+
| [LightGCN](nextrec/models/representation/lightgcn.py) | LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation | 开发中 |
|
|
340
|
+
| [S3Rec](nextrec/models/representation/s3rec.py) | S3-Rec: Self-Supervised Learning for Sequential Recommendation | 开发中 |
|
|
341
|
+
| [CL4SRec](nextrec/models/representation/cl4srec.py) | CL4SRec: Contrastive Learning for Sequential Recommendation | 开发中 |
|
|
332
342
|
|
|
333
343
|
---
|
|
334
344
|
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
nextrec/__init__.py,sha256=_M3oUqyuvQ5k8Th_3wId6hQ_caclh7M5ad51XN09m98,235
|
|
2
|
+
nextrec/__version__.py,sha256=M6cnWFk1Yz0fBKyJSOiFIvowDDGt2oz9dCYCtlYnCj4,23
|
|
3
|
+
nextrec/cli.py,sha256=uOaXnlAM-ARrbxKOVWWkTE_rv-54px168kBhFUHtIAg,25073
|
|
4
|
+
nextrec/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
nextrec/basic/activation.py,sha256=uekcJsOy8SiT0_NaDO2VNSStyYFzVikDFVLDk-VrjwQ,2949
|
|
6
|
+
nextrec/basic/asserts.py,sha256=U1EKovV_OT7_Mm99zFvdfF2hccFREp3gdDaeRjfiBwQ,2249
|
|
7
|
+
nextrec/basic/callback.py,sha256=7geza5iMMlMojlrIKH5A7nzvCe4IYwgUaMRh_xpblWk,12585
|
|
8
|
+
nextrec/basic/features.py,sha256=zLijBNkKwCXv9TKxSWwvmt7aVfWn2D5JvfwukeIRqec,9174
|
|
9
|
+
nextrec/basic/heads.py,sha256=BshykLxD41KxKuZaBxf4Fmy1Mc52b3ioJliN1BVaGlk,3374
|
|
10
|
+
nextrec/basic/layers.py,sha256=tr8XFOcTvUHEZ6T3zJwmtKMA-u_xfzHloIkItGs821U,40084
|
|
11
|
+
nextrec/basic/loggers.py,sha256=XmWcgQAoM7fHs04DwsleuI4TdOW4PfrRU4e1t6bOXzs,13836
|
|
12
|
+
nextrec/basic/metrics.py,sha256=CPzENDcpO6QTDZLBtQlfAGKUYYQc0FT-eaMKJ4MURFo,23396
|
|
13
|
+
nextrec/basic/model.py,sha256=4vBp-vXAWC5Oiu_x4mtVaXTKJCcKDYT0IJ7UOyHD5lw,110162
|
|
14
|
+
nextrec/basic/session.py,sha256=mrIsjRJhmvcAfoO1pXX-KB3SK5CCgz89wH8XDoAiGEI,4475
|
|
15
|
+
nextrec/basic/summary.py,sha256=b6jLo70gqZj_bQ4eb5yb8SXmr2ilZlKNN293EyVnkyc,17759
|
|
16
|
+
nextrec/data/__init__.py,sha256=YZQjpty1pDCM7q_YNmiA2sa5kbujUw26ObLHWjMPjKY,1194
|
|
17
|
+
nextrec/data/batch_utils.py,sha256=0bYGVX7RlhnHv_ZBaUngjDIpBNw-igCk98DgOsF7T6o,2879
|
|
18
|
+
nextrec/data/data_processing.py,sha256=lhuwYxWp4Ts2bbuLGDt2LmuPrOy7pNcKczd2uVcQ4ss,6476
|
|
19
|
+
nextrec/data/data_utils.py,sha256=0Ls1cnG9lBz0ovtyedw5vwp7WegGK_iF-F8e_3DEddo,880
|
|
20
|
+
nextrec/data/dataloader.py,sha256=gTs4YC5tHHwTq0A9481KYK1XyloeN2dMVOjPAFehF_E,19972
|
|
21
|
+
nextrec/data/preprocessor.py,sha256=AD5bHNbkAZAnI_SbDfJJaAh57CRtRjoOQJ6aIBkgoQs,65251
|
|
22
|
+
nextrec/loss/__init__.py,sha256=rualGsY-IBvmM52q9eOBk0MyKcMkpkazcscOeDXi_SM,774
|
|
23
|
+
nextrec/loss/grad_norm.py,sha256=YoE_XSIN1HOUcNq1dpfkIlWtMaB5Pu-SEWDaNgtRw1M,8316
|
|
24
|
+
nextrec/loss/listwise.py,sha256=mluxXQt9XiuWGvXA1nk4I0miqaKB6_GPVQqxLhAiJKs,5999
|
|
25
|
+
nextrec/loss/pairwise.py,sha256=9fyH9p2u-N0-jAnNTq3X5Dje0ipj1dob8wp-yQKRra4,3493
|
|
26
|
+
nextrec/loss/pointwise.py,sha256=09nzI1L5eP9raXnj3Q49bD9Clp_JmsSWUvEj7bkTzSw,7474
|
|
27
|
+
nextrec/models/generative/__init__.py,sha256=0MV3P-_ainPaTxmRBGWKUVCEt14KJvuvEHmRB3OQ1Fs,176
|
|
28
|
+
nextrec/models/generative/tiger.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
nextrec/models/multi_task/[pre]aitm.py,sha256=e9XCuPgOoyTs1RlGSJsMMksyYFOrOaT00c4WW4TSg2g,6659
|
|
30
|
+
nextrec/models/multi_task/[pre]snr_trans.py,sha256=Mb1RSdBAVCKhQnG9ajf1uYHulZsK8rz5sLGWpTJVMwY,9060
|
|
31
|
+
nextrec/models/multi_task/[pre]star.py,sha256=hJ-E0_ciiOlaOhQ-gh3UZpZcKLc8A6_7CiVJyurLy_E,7040
|
|
32
|
+
nextrec/models/multi_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
nextrec/models/multi_task/apg.py,sha256=oqX3-wShX47Zqn6o0WGJ5duqjnxBKuMd1XodwsxVDiQ,13519
|
|
34
|
+
nextrec/models/multi_task/cross_stitch.py,sha256=jMYd-BVhkPtJRgpzVPooXCzf_LzS0oWuGKanNUlytBo,9424
|
|
35
|
+
nextrec/models/multi_task/escm.py,sha256=Djk4SjLsZ8He3sZrKfZkHdH2istR9R71GVEJc6EbF-o,11021
|
|
36
|
+
nextrec/models/multi_task/esmm.py,sha256=QRnNXV1IEArYorYJLOoBcLbxarMC_7azQLP79QTfAJ8,5273
|
|
37
|
+
nextrec/models/multi_task/hmoe.py,sha256=6mTzZxC5PfSQovrmnR0O2hdhDUG_8yNqMwCdkNRlHkY,7567
|
|
38
|
+
nextrec/models/multi_task/mmoe.py,sha256=Mplzstu-LYEMtiKiyiMEQZwY-xMkUeG-1FaDqqK5kws,7606
|
|
39
|
+
nextrec/models/multi_task/pepnet.py,sha256=1da-uS5Dnl-lHs1SJrja-mQTlPJng3lKJcIRavWtFCk,13385
|
|
40
|
+
nextrec/models/multi_task/ple.py,sha256=cO-NqEm-UZKRz2MznBjqsXL8ImH7WU1HRzXdWAtb7Kk,12089
|
|
41
|
+
nextrec/models/multi_task/poso.py,sha256=Xjw9JBAiGR9CGewp1uS4b1soA7fOvSWTsIT6pS9_o30,18215
|
|
42
|
+
nextrec/models/multi_task/share_bottom.py,sha256=BT-nu0NZTV4HlFkva_KnoKLSxB0-gYuJWPw7PRDGwC8,5172
|
|
43
|
+
nextrec/models/ranking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
nextrec/models/ranking/afm.py,sha256=CNiWdGcp9pQiEBbv10HPT5I2NnJlXqvEHZKIm-J-Q44,9189
|
|
45
|
+
nextrec/models/ranking/autoint.py,sha256=q2C1pGZxQ0SchYMJWzD3EOeaiU3Kp7Xn57-Iidwj4IA,7051
|
|
46
|
+
nextrec/models/ranking/dcn.py,sha256=fD0xBGDYtytGlfnNX6GNMkim4DDlZa-JutLu7q9L_hU,6471
|
|
47
|
+
nextrec/models/ranking/dcn_v2.py,sha256=39mZPr33xGgE9zOJfoZceWv993LG9EqsNW4W8xS0duc,10174
|
|
48
|
+
nextrec/models/ranking/deepfm.py,sha256=xAPjoZnam4T2yvBE07VAeqZt3vJeblOxyAAeTerBnRo,4196
|
|
49
|
+
nextrec/models/ranking/dien.py,sha256=OhLp5XiXIZqyP47H7dfdMRZIIyTQVGWZqTt48wdOLxY,18153
|
|
50
|
+
nextrec/models/ranking/din.py,sha256=ezhw1N35537RXQ9lGuyIN-9LhBKOJapZK8PQdioTVFA,8647
|
|
51
|
+
nextrec/models/ranking/eulernet.py,sha256=sYOReqVY7P4s-3GwRObFn4U6WoCVubtiMk3kN6P4iKY,11276
|
|
52
|
+
nextrec/models/ranking/ffm.py,sha256=xGK0K6sXQisJRhtM3q1P_hNEJ4Kletu4q4OIUcFFAZk,10304
|
|
53
|
+
nextrec/models/ranking/fibinet.py,sha256=URjm2oHIE5vx_wEriZCfkaNUuJ6YTLEVG4U9uYieMbA,7075
|
|
54
|
+
nextrec/models/ranking/fm.py,sha256=FJ4JbhIEYZk7UtttiOhUrCsJDcjzJTN8-L4qCv9ch4E,3587
|
|
55
|
+
nextrec/models/ranking/lr.py,sha256=bfAcXuw1HGbPyDVnGK8hqe0kNpqSz4xdr-oSGXFus1E,3019
|
|
56
|
+
nextrec/models/ranking/masknet.py,sha256=EWdiErRvAe4kFG-U0i2Tz3Yh_Vf-nXZNVbm6KwDYtwY,11398
|
|
57
|
+
nextrec/models/ranking/pnn.py,sha256=iW3LgAKqZ1Rqzbl-8Jte9wgVyYIMzi76nDwTW78DkMU,7340
|
|
58
|
+
nextrec/models/ranking/widedeep.py,sha256=EuBHnczCIT0OGxnuYEAB-5RHB_lC3Ow6xIMj9CB8o5k,4006
|
|
59
|
+
nextrec/models/ranking/xdeepfm.py,sha256=MOpVsS5CQMV9scBD_WJlaBHkl2ZViq1Mjjk6Glciz4w,7247
|
|
60
|
+
nextrec/models/representation/__init__.py,sha256=O3QHMMXBszwM-mTl7bA3wawNZvDGet-QIv6Ys5GHGJ8,190
|
|
61
|
+
nextrec/models/representation/autorec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
+
nextrec/models/representation/bpr.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
nextrec/models/representation/cl4srec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
+
nextrec/models/representation/lightgcn.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
|
+
nextrec/models/representation/mf.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
66
|
+
nextrec/models/representation/rqvae.py,sha256=ytSXblWj3iYo76y_8mATm5w6C_YSAh2tq4MUFG-ngBc,29296
|
|
67
|
+
nextrec/models/representation/s3rec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
|
+
nextrec/models/retrieval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
+
nextrec/models/retrieval/dssm.py,sha256=AmXDr62M6tivBg1P4MQ8f4cZnl1TGHxRBvZj05zWw64,6887
|
|
70
|
+
nextrec/models/retrieval/dssm_v2.py,sha256=5ZH3dfNfRCDE69k8KG8BZJixaGOSVvQHB9uIDPMLPk4,5953
|
|
71
|
+
nextrec/models/retrieval/mind.py,sha256=I0qVj39ApweRGW3qDNLca5vsNtJwRe7gBLh1pedsexY,14061
|
|
72
|
+
nextrec/models/retrieval/sdm.py,sha256=1Y2gidG7WKuuGFaaQ8BcBGhQYoyyLPyhpRTo_xE1pmc,9987
|
|
73
|
+
nextrec/models/retrieval/youtube_dnn.py,sha256=hLyR4liuusJIjRg4vuaSoSEecYgDICipXnNFiA3o3oY,6351
|
|
74
|
+
nextrec/models/sequential/hstu.py,sha256=iZcYLp44r23nHYNhGwD25JfH85DBrFwHOTg1WpHvLe8,18983
|
|
75
|
+
nextrec/models/sequential/sasrec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
+
nextrec/utils/__init__.py,sha256=Td-TC1IoTeb0KV-EgPy_vTHmmxmE6tO9q7Gmgsk1p-A,2672
|
|
77
|
+
nextrec/utils/config.py,sha256=WeGHjoQYA5SoC9B_uS3D6ChzKr9Z5n2fwE-8l6nsuLE,20425
|
|
78
|
+
nextrec/utils/console.py,sha256=RA3ZTjtUQXvueouSmXJNLkRjeUGQZesphwWjFMTbV4I,13577
|
|
79
|
+
nextrec/utils/data.py,sha256=pSL96mWjWfW_RKE-qlUSs9vfiYnFZAaRirzA6r7DB6s,24994
|
|
80
|
+
nextrec/utils/embedding.py,sha256=akAEc062MG2cD7VIOllHaqtwzAirQR2gq5iW7oKpGAU,1449
|
|
81
|
+
nextrec/utils/feature.py,sha256=E3NOFIW8gAoRXVrDhCSonzg8k7nMUZyZzMfCq9k73_A,623
|
|
82
|
+
nextrec/utils/loss.py,sha256=GBWQGpDaYkMJySpdG078XbeUNXUC34PVqFy0AqNS9N0,4578
|
|
83
|
+
nextrec/utils/model.py,sha256=PI9y8oWz1lhktgapZsiXb8rTr2NrFFlc80tr4yOFHik,5334
|
|
84
|
+
nextrec/utils/torch_utils.py,sha256=UQpWS7F3nITYqvx2KRBaQJc9oTowRkIvowhuQLt6NFM,11953
|
|
85
|
+
nextrec/utils/types.py,sha256=VhtLXUVvu0zAZVAUgRUML4FExRC-GH-ZmC1UiVSr3HE,1523
|
|
86
|
+
nextrec-0.4.27.dist-info/METADATA,sha256=oKaTQkJVnQjpSxH-rjWCFICRoIRGMbopjv6K3sXV_m8,23188
|
|
87
|
+
nextrec-0.4.27.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
88
|
+
nextrec-0.4.27.dist-info/entry_points.txt,sha256=NN-dNSdfMRTv86bNXM7d3ZEPW2BQC6bRi7QP7i9cIps,45
|
|
89
|
+
nextrec-0.4.27.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
|
|
90
|
+
nextrec-0.4.27.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
nextrec-0.4.24.dist-info/RECORD
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
nextrec/__init__.py,sha256=_M3oUqyuvQ5k8Th_3wId6hQ_caclh7M5ad51XN09m98,235
|
|
2
|
-
nextrec/__version__.py,sha256=WWrTOK_Nz_e97GQCElAGK_CtxVsM2uOWZphO5msHKOs,23
|
|
3
|
-
nextrec/cli.py,sha256=Vm1XCFVw1vFh9NFw3PYZ_fYbh07tf45fl3RtPycooUI,24317
|
|
4
|
-
nextrec/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
nextrec/basic/activation.py,sha256=uekcJsOy8SiT0_NaDO2VNSStyYFzVikDFVLDk-VrjwQ,2949
|
|
6
|
-
nextrec/basic/callback.py,sha256=7geza5iMMlMojlrIKH5A7nzvCe4IYwgUaMRh_xpblWk,12585
|
|
7
|
-
nextrec/basic/features.py,sha256=zLijBNkKwCXv9TKxSWwvmt7aVfWn2D5JvfwukeIRqec,9174
|
|
8
|
-
nextrec/basic/heads.py,sha256=BshykLxD41KxKuZaBxf4Fmy1Mc52b3ioJliN1BVaGlk,3374
|
|
9
|
-
nextrec/basic/layers.py,sha256=tr8XFOcTvUHEZ6T3zJwmtKMA-u_xfzHloIkItGs821U,40084
|
|
10
|
-
nextrec/basic/loggers.py,sha256=KxTPVHtkebAbpxZIYZ4aqncZCu-dccpKtIxmi2bVs6o,13160
|
|
11
|
-
nextrec/basic/metrics.py,sha256=CPzENDcpO6QTDZLBtQlfAGKUYYQc0FT-eaMKJ4MURFo,23396
|
|
12
|
-
nextrec/basic/model.py,sha256=2dXMpYC8KV-prpUW7ex5hLq_NvKbPFbCNB9ncmCmBAE,104416
|
|
13
|
-
nextrec/basic/session.py,sha256=mrIsjRJhmvcAfoO1pXX-KB3SK5CCgz89wH8XDoAiGEI,4475
|
|
14
|
-
nextrec/basic/summary.py,sha256=9xDtDbtMCPSQuEVLx23-SLL6qDRl1MfM19YMBG3Wtow,15372
|
|
15
|
-
nextrec/data/__init__.py,sha256=YZQjpty1pDCM7q_YNmiA2sa5kbujUw26ObLHWjMPjKY,1194
|
|
16
|
-
nextrec/data/batch_utils.py,sha256=0bYGVX7RlhnHv_ZBaUngjDIpBNw-igCk98DgOsF7T6o,2879
|
|
17
|
-
nextrec/data/data_processing.py,sha256=ZDZMSTBvxjPppl872is4M49o4WAkZXw2vUFOsNr0q3w,6658
|
|
18
|
-
nextrec/data/data_utils.py,sha256=0Ls1cnG9lBz0ovtyedw5vwp7WegGK_iF-F8e_3DEddo,880
|
|
19
|
-
nextrec/data/dataloader.py,sha256=hjp9gf9tgREozZE0tBVBhtNDb2Ss1bpOVo6Bw0WWsrk,19091
|
|
20
|
-
nextrec/data/preprocessor.py,sha256=4mVhQ6W2M9nmTeQjArx_cndWwnk2i29U2iXSNgg5gXM,52917
|
|
21
|
-
nextrec/loss/__init__.py,sha256=rualGsY-IBvmM52q9eOBk0MyKcMkpkazcscOeDXi_SM,774
|
|
22
|
-
nextrec/loss/grad_norm.py,sha256=YoE_XSIN1HOUcNq1dpfkIlWtMaB5Pu-SEWDaNgtRw1M,8316
|
|
23
|
-
nextrec/loss/listwise.py,sha256=mluxXQt9XiuWGvXA1nk4I0miqaKB6_GPVQqxLhAiJKs,5999
|
|
24
|
-
nextrec/loss/pairwise.py,sha256=9fyH9p2u-N0-jAnNTq3X5Dje0ipj1dob8wp-yQKRra4,3493
|
|
25
|
-
nextrec/loss/pointwise.py,sha256=09nzI1L5eP9raXnj3Q49bD9Clp_JmsSWUvEj7bkTzSw,7474
|
|
26
|
-
nextrec/models/generative/__init__.py,sha256=0MV3P-_ainPaTxmRBGWKUVCEt14KJvuvEHmRB3OQ1Fs,176
|
|
27
|
-
nextrec/models/generative/tiger.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
nextrec/models/multi_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
nextrec/models/multi_task/aitm.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
nextrec/models/multi_task/apg.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
nextrec/models/multi_task/cross_stitch.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
nextrec/models/multi_task/esmm.py,sha256=sagHib2lqXya2fiAC8CdmUe-FJdcQKvFz6kziN42YRU,5724
|
|
33
|
-
nextrec/models/multi_task/mmoe.py,sha256=16ZnaotUVxvYTSJp1Z1Zr3E1q3K2BdsmcYYCKhzaKWA,7830
|
|
34
|
-
nextrec/models/multi_task/pepnet.py,sha256=GXKt6vQL-tMLFp0k7Nxbdfs-XNaB2Fi_qYHlnHKLlYo,12998
|
|
35
|
-
nextrec/models/multi_task/ple.py,sha256=-ApSs_9cD0O5YbFE4MC0zP2Y5mjRRwl9I6CZ4eHpQQk,12408
|
|
36
|
-
nextrec/models/multi_task/poso.py,sha256=QSE3yW0Y-Gb5c1YtBh5Z_xle5MiA6uRF4gyrEWPmMpI,18543
|
|
37
|
-
nextrec/models/multi_task/share_bottom.py,sha256=mfP-_NjjYrTXAKFxZzA8LGNTc3paScTX3HbcQLKSoVg,5759
|
|
38
|
-
nextrec/models/multi_task/snr_trans.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
-
nextrec/models/ranking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
nextrec/models/ranking/afm.py,sha256=rTuLH_6GD8DXEu5GjuypdAXpyc-Ug4A2pIQ9y5mlA24,9177
|
|
41
|
-
nextrec/models/ranking/autoint.py,sha256=UVuVyinTxy29gw_0bI9aP6xYzg3fpDfN-11JjqgnM68,7026
|
|
42
|
-
nextrec/models/ranking/dcn.py,sha256=elRw4qEE9d8tYmZEqdGlE_l-_fQ5CacpVY1IrbyX6iQ,6466
|
|
43
|
-
nextrec/models/ranking/dcn_v2.py,sha256=GNfFSFlv6SFgXMUYSo53BD7fy0vkCMCN7EyrtN2DmlY,10169
|
|
44
|
-
nextrec/models/ranking/deepfm.py,sha256=Y6gVcZzHeOxUAT5QT2I2y8hlrL0A9gG3L92xCshPs9E,4191
|
|
45
|
-
nextrec/models/ranking/dien.py,sha256=QtinHyg6kvbJPhPTC1KUTOngf8HFcsuEMBu3yyxOU2Y,18116
|
|
46
|
-
nextrec/models/ranking/din.py,sha256=kh9oAAq8WvLCoTtI0Im4gUZIlK8LC7jLgGclq-ucW3s,8605
|
|
47
|
-
nextrec/models/ranking/eulernet.py,sha256=pcZLOj0h97jp32vXaZeuDku82t1Qsa3NFjPimTGq48Q,11274
|
|
48
|
-
nextrec/models/ranking/ffm.py,sha256=-cAfSB6eU3-P2ZXv9P4OmsetFt1X7zYO83wBz6uR6is,10302
|
|
49
|
-
nextrec/models/ranking/fibinet.py,sha256=IapVFh35j95FKyHGr6VNSavFJQ_FMXLzpb_r24xHnaM,7068
|
|
50
|
-
nextrec/models/ranking/fm.py,sha256=Oby9rikk2-V8xKLeg3hMPFH10V0rCiYA14pmbn9dqe8,3585
|
|
51
|
-
nextrec/models/ranking/lr.py,sha256=jaWd1V7PAPvra7M1eStAI_GFXqc2eKeWRVJ4MvlSp7g,3017
|
|
52
|
-
nextrec/models/ranking/masknet.py,sha256=u0rVHfRQpskCyPJdAC0D7ySf2PkhNBCEMmAce-JvlfA,11396
|
|
53
|
-
nextrec/models/ranking/pnn.py,sha256=vxx5jnrWeerXKet06aYa74edEjly4BYRcGsDYgSp38A,7338
|
|
54
|
-
nextrec/models/ranking/widedeep.py,sha256=8kF695q-gR_ECfKkspYgDEbWkh_Unnt5Ta3GuqbxnzQ,3999
|
|
55
|
-
nextrec/models/ranking/xdeepfm.py,sha256=BjuZYiIkpMAevJZWx_NUgtFfLwamwuLXuarUpEidTsc,7240
|
|
56
|
-
nextrec/models/representation/__init__.py,sha256=O3QHMMXBszwM-mTl7bA3wawNZvDGet-QIv6Ys5GHGJ8,190
|
|
57
|
-
nextrec/models/representation/autorec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
-
nextrec/models/representation/bpr.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
nextrec/models/representation/cl4srec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
nextrec/models/representation/lightgcn.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
-
nextrec/models/representation/mf.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
-
nextrec/models/representation/rqvae.py,sha256=JyZxVY9CibcdBGk97TxjG5O3WQC10_60tHNcP_qtegs,29290
|
|
63
|
-
nextrec/models/representation/s3rec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
-
nextrec/models/retrieval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
|
-
nextrec/models/retrieval/dssm.py,sha256=ZPNmjkP5TfdfIRyqrgFTGDqkGnKSjbmmjh8vxwtpfGM,7006
|
|
66
|
-
nextrec/models/retrieval/dssm_v2.py,sha256=TV4t-W6n610T1dRwb4Ql71xDWUuM2TMjIO83KI79u0Y,6074
|
|
67
|
-
nextrec/models/retrieval/mind.py,sha256=AKTSf77Ae7e3YWchuIAjbDv6xrLR3CbGNG7YtPBYVTk,14175
|
|
68
|
-
nextrec/models/retrieval/sdm.py,sha256=LzUBec0Cd9YQUEDJJtQvue4DmfEzoh4hOOh91x1Dc6c,9647
|
|
69
|
-
nextrec/models/retrieval/youtube_dnn.py,sha256=ciD9RyBy19mfQcEoqw1UfydmVBsJvffDw-sXA9kHRiI,6470
|
|
70
|
-
nextrec/models/sequential/hstu.py,sha256=4-EUOQ4HTRG5MAhTA2b9FOOXXw8oyPxDBaaDFunkT6o,18979
|
|
71
|
-
nextrec/models/sequential/sasrec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
|
-
nextrec/utils/__init__.py,sha256=jD73RLigxcHFP-rXBoPi2VUTKH7kE5vNMQkr4lW8UUY,2655
|
|
73
|
-
nextrec/utils/config.py,sha256=UIi4zntP2g4IJaeMQYoa6kMQlU_23Hq4N1ZugMgnB5A,20331
|
|
74
|
-
nextrec/utils/console.py,sha256=RA3ZTjtUQXvueouSmXJNLkRjeUGQZesphwWjFMTbV4I,13577
|
|
75
|
-
nextrec/utils/data.py,sha256=pSL96mWjWfW_RKE-qlUSs9vfiYnFZAaRirzA6r7DB6s,24994
|
|
76
|
-
nextrec/utils/embedding.py,sha256=akAEc062MG2cD7VIOllHaqtwzAirQR2gq5iW7oKpGAU,1449
|
|
77
|
-
nextrec/utils/feature.py,sha256=E3NOFIW8gAoRXVrDhCSonzg8k7nMUZyZzMfCq9k73_A,623
|
|
78
|
-
nextrec/utils/loss.py,sha256=GBWQGpDaYkMJySpdG078XbeUNXUC34PVqFy0AqNS9N0,4578
|
|
79
|
-
nextrec/utils/model.py,sha256=M9ToX2sOw5t07a6lG2DagSjPJtUULopANOZ1EW_Wcds,7752
|
|
80
|
-
nextrec/utils/torch_utils.py,sha256=1lvZ7BG-rGLIAlumQIoeq5T9dO9hx2p8sa2_DC_bTZU,11564
|
|
81
|
-
nextrec/utils/types.py,sha256=VhtLXUVvu0zAZVAUgRUML4FExRC-GH-ZmC1UiVSr3HE,1523
|
|
82
|
-
nextrec-0.4.24.dist-info/METADATA,sha256=hH313iUy8qYMnSD05xW4m_E6LYh7x_NblMrxu6f34U4,21859
|
|
83
|
-
nextrec-0.4.24.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
84
|
-
nextrec-0.4.24.dist-info/entry_points.txt,sha256=NN-dNSdfMRTv86bNXM7d3ZEPW2BQC6bRi7QP7i9cIps,45
|
|
85
|
-
nextrec-0.4.24.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
|
|
86
|
-
nextrec-0.4.24.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|