nextrec 0.1.1__py3-none-any.whl → 0.1.2__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/__init__.py +4 -4
- nextrec/__version__.py +1 -1
- nextrec/basic/activation.py +10 -9
- nextrec/basic/callback.py +1 -0
- nextrec/basic/dataloader.py +168 -127
- nextrec/basic/features.py +24 -27
- nextrec/basic/layers.py +328 -159
- nextrec/basic/loggers.py +50 -37
- nextrec/basic/metrics.py +255 -147
- nextrec/basic/model.py +817 -462
- nextrec/data/__init__.py +5 -5
- nextrec/data/data_utils.py +16 -12
- nextrec/data/preprocessor.py +276 -252
- nextrec/loss/__init__.py +12 -12
- nextrec/loss/loss_utils.py +30 -22
- nextrec/loss/match_losses.py +116 -83
- nextrec/models/match/__init__.py +5 -5
- nextrec/models/match/dssm.py +70 -61
- nextrec/models/match/dssm_v2.py +61 -51
- nextrec/models/match/mind.py +89 -71
- nextrec/models/match/sdm.py +93 -81
- nextrec/models/match/youtube_dnn.py +62 -53
- nextrec/models/multi_task/esmm.py +49 -43
- nextrec/models/multi_task/mmoe.py +65 -56
- nextrec/models/multi_task/ple.py +92 -65
- nextrec/models/multi_task/share_bottom.py +48 -42
- nextrec/models/ranking/__init__.py +7 -7
- nextrec/models/ranking/afm.py +39 -30
- nextrec/models/ranking/autoint.py +70 -57
- nextrec/models/ranking/dcn.py +43 -35
- nextrec/models/ranking/deepfm.py +34 -28
- nextrec/models/ranking/dien.py +115 -79
- nextrec/models/ranking/din.py +84 -60
- nextrec/models/ranking/fibinet.py +51 -35
- nextrec/models/ranking/fm.py +28 -26
- nextrec/models/ranking/masknet.py +31 -31
- nextrec/models/ranking/pnn.py +30 -31
- nextrec/models/ranking/widedeep.py +36 -31
- nextrec/models/ranking/xdeepfm.py +46 -39
- nextrec/utils/__init__.py +9 -9
- nextrec/utils/embedding.py +1 -1
- nextrec/utils/initializer.py +23 -15
- nextrec/utils/optimizer.py +14 -10
- {nextrec-0.1.1.dist-info → nextrec-0.1.2.dist-info}/METADATA +6 -40
- nextrec-0.1.2.dist-info/RECORD +51 -0
- nextrec-0.1.1.dist-info/RECORD +0 -51
- {nextrec-0.1.1.dist-info → nextrec-0.1.2.dist-info}/WHEEL +0 -0
- {nextrec-0.1.1.dist-info → nextrec-0.1.2.dist-info}/licenses/LICENSE +0 -0
nextrec/utils/__init__.py
CHANGED
|
@@ -6,13 +6,13 @@ from nextrec.utils.common import get_task_type
|
|
|
6
6
|
from nextrec.utils import optimizer, initializer, embedding, common
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
"get_optimizer_fn",
|
|
10
|
+
"get_scheduler_fn",
|
|
11
|
+
"get_initializer_fn",
|
|
12
|
+
"get_auto_embedding_dim",
|
|
13
|
+
"get_task_type",
|
|
14
|
+
"optimizer",
|
|
15
|
+
"initializer",
|
|
16
|
+
"embedding",
|
|
17
|
+
"common",
|
|
18
18
|
]
|
nextrec/utils/embedding.py
CHANGED
|
@@ -13,7 +13,7 @@ def get_auto_embedding_dim(num_classes: int) -> int:
|
|
|
13
13
|
"""
|
|
14
14
|
Calculate the dim of embedding vector according to number of classes in the category.
|
|
15
15
|
Formula: emb_dim = [6 * (num_classes)^(1/4)]
|
|
16
|
-
Reference:
|
|
16
|
+
Reference:
|
|
17
17
|
Deep & Cross Network for Ad Click Predictions.(ADKDD'17)
|
|
18
18
|
"""
|
|
19
19
|
return int(np.floor(6 * np.power(num_classes, 0.25)))
|
nextrec/utils/initializer.py
CHANGED
|
@@ -9,10 +9,10 @@ Author:
|
|
|
9
9
|
import torch.nn as nn
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
def get_initializer_fn(init_type=
|
|
12
|
+
def get_initializer_fn(init_type="normal", activation="linear", param=None):
|
|
13
13
|
"""
|
|
14
14
|
Get parameter initialization function.
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
Examples:
|
|
17
17
|
>>> init_fn = get_initializer_fn('xavier_uniform', 'relu')
|
|
18
18
|
>>> init_fn(tensor)
|
|
@@ -21,25 +21,33 @@ def get_initializer_fn(init_type='normal', activation='linear', param=None):
|
|
|
21
21
|
param = param or {}
|
|
22
22
|
|
|
23
23
|
try:
|
|
24
|
-
gain = param.get(
|
|
24
|
+
gain = param.get(
|
|
25
|
+
"gain", nn.init.calculate_gain(activation, param.get("param", None))
|
|
26
|
+
)
|
|
25
27
|
except ValueError:
|
|
26
28
|
gain = 1.0 # for custom activations like 'dice'
|
|
27
|
-
|
|
29
|
+
|
|
28
30
|
def initializer_fn(tensor):
|
|
29
|
-
if init_type ==
|
|
31
|
+
if init_type == "xavier_uniform":
|
|
30
32
|
nn.init.xavier_uniform_(tensor, gain=gain)
|
|
31
|
-
elif init_type ==
|
|
33
|
+
elif init_type == "xavier_normal":
|
|
32
34
|
nn.init.xavier_normal_(tensor, gain=gain)
|
|
33
|
-
elif init_type ==
|
|
34
|
-
nn.init.kaiming_uniform_(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
elif init_type ==
|
|
35
|
+
elif init_type == "kaiming_uniform":
|
|
36
|
+
nn.init.kaiming_uniform_(
|
|
37
|
+
tensor, a=param.get("a", 0), nonlinearity=activation
|
|
38
|
+
)
|
|
39
|
+
elif init_type == "kaiming_normal":
|
|
40
|
+
nn.init.kaiming_normal_(
|
|
41
|
+
tensor, a=param.get("a", 0), nonlinearity=activation
|
|
42
|
+
)
|
|
43
|
+
elif init_type == "orthogonal":
|
|
38
44
|
nn.init.orthogonal_(tensor, gain=gain)
|
|
39
|
-
elif init_type ==
|
|
40
|
-
nn.init.normal_(
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
elif init_type == "normal":
|
|
46
|
+
nn.init.normal_(
|
|
47
|
+
tensor, mean=param.get("mean", 0.0), std=param.get("std", 0.0001)
|
|
48
|
+
)
|
|
49
|
+
elif init_type == "uniform":
|
|
50
|
+
nn.init.uniform_(tensor, a=param.get("a", -0.05), b=param.get("b", 0.05))
|
|
43
51
|
else:
|
|
44
52
|
raise ValueError(f"Unknown init_type: {init_type}")
|
|
45
53
|
return tensor
|
nextrec/utils/optimizer.py
CHANGED
|
@@ -13,11 +13,11 @@ from typing import Iterable
|
|
|
13
13
|
def get_optimizer_fn(
|
|
14
14
|
optimizer: str = "adam",
|
|
15
15
|
params: Iterable[torch.nn.Parameter] | None = None,
|
|
16
|
-
**optimizer_params
|
|
16
|
+
**optimizer_params,
|
|
17
17
|
):
|
|
18
18
|
"""
|
|
19
19
|
Get optimizer function based on optimizer name or instance.
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
Examples:
|
|
22
22
|
>>> optimizer = get_optimizer_fn("adam", model.parameters(), lr=1e-3)
|
|
23
23
|
>>> optimizer = get_optimizer_fn("sgd", model.parameters(), lr=0.01, momentum=0.9)
|
|
@@ -25,9 +25,9 @@ def get_optimizer_fn(
|
|
|
25
25
|
if params is None:
|
|
26
26
|
raise ValueError("params cannot be None. Please provide model parameters.")
|
|
27
27
|
|
|
28
|
-
if
|
|
29
|
-
optimizer_params[
|
|
30
|
-
|
|
28
|
+
if "lr" not in optimizer_params:
|
|
29
|
+
optimizer_params["lr"] = 1e-3
|
|
30
|
+
|
|
31
31
|
if isinstance(optimizer, str):
|
|
32
32
|
opt_name = optimizer.lower()
|
|
33
33
|
if opt_name == "adam":
|
|
@@ -48,28 +48,32 @@ def get_optimizer_fn(
|
|
|
48
48
|
optimizer_fn = optimizer
|
|
49
49
|
else:
|
|
50
50
|
raise TypeError(f"Invalid optimizer type: {type(optimizer)}")
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
return optimizer_fn
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
def get_scheduler_fn(scheduler, optimizer, **scheduler_params):
|
|
56
56
|
"""
|
|
57
57
|
Get learning rate scheduler function.
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
Examples:
|
|
60
60
|
>>> scheduler = get_scheduler_fn("step", optimizer, step_size=10, gamma=0.1)
|
|
61
61
|
>>> scheduler = get_scheduler_fn("cosine", optimizer, T_max=100)
|
|
62
62
|
"""
|
|
63
63
|
if isinstance(scheduler, str):
|
|
64
64
|
if scheduler == "step":
|
|
65
|
-
scheduler_fn = torch.optim.lr_scheduler.StepLR(
|
|
65
|
+
scheduler_fn = torch.optim.lr_scheduler.StepLR(
|
|
66
|
+
optimizer, **scheduler_params
|
|
67
|
+
)
|
|
66
68
|
elif scheduler == "cosine":
|
|
67
|
-
scheduler_fn = torch.optim.lr_scheduler.CosineAnnealingLR(
|
|
69
|
+
scheduler_fn = torch.optim.lr_scheduler.CosineAnnealingLR(
|
|
70
|
+
optimizer, **scheduler_params
|
|
71
|
+
)
|
|
68
72
|
else:
|
|
69
73
|
raise NotImplementedError(f"Unsupported scheduler: {scheduler}")
|
|
70
74
|
elif isinstance(scheduler, torch.optim.lr_scheduler._LRScheduler):
|
|
71
75
|
scheduler_fn = scheduler
|
|
72
76
|
else:
|
|
73
77
|
raise TypeError(f"Invalid scheduler type: {type(scheduler)}")
|
|
74
|
-
|
|
78
|
+
|
|
75
79
|
return scheduler_fn
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nextrec
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
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
|
|
@@ -20,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
20
20
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
21
|
Requires-Python: >=3.10
|
|
22
22
|
Requires-Dist: fastparquet>=2023.4.0
|
|
23
|
-
Requires-Dist: numpy>=1.
|
|
23
|
+
Requires-Dist: numpy>=1.23.0
|
|
24
24
|
Requires-Dist: pandas>=2.0.0
|
|
25
25
|
Requires-Dist: pyarrow>=12.0.0
|
|
26
26
|
Requires-Dist: scikit-learn>=1.3.0
|
|
@@ -72,47 +72,13 @@ NextRec is a modern recommendation system framework built on PyTorch, providing
|
|
|
72
72
|
|
|
73
73
|
## Installation
|
|
74
74
|
|
|
75
|
-
NextRec supports installation via **UV** or traditional **pip/source installation**.
|
|
76
|
-
|
|
77
|
-
### Option 1: Using UV (Recommended)
|
|
78
|
-
|
|
79
|
-
UV is a modern, high-performance Python package manager offering fast dependency resolution and installation.
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
git clone https://github.com/zerolovesea/NextRec.git
|
|
83
|
-
cd NextRec
|
|
84
|
-
|
|
85
|
-
# Install UV if not already installed
|
|
86
|
-
pip install uv
|
|
87
|
-
|
|
88
|
-
# Create virtual environment and install dependencies
|
|
89
|
-
uv sync
|
|
90
|
-
|
|
91
|
-
# Activate the virtual environment
|
|
92
|
-
source .venv/bin/activate # macOS/Linux
|
|
93
|
-
# or
|
|
94
|
-
.venv\Scripts\activate # Windows
|
|
95
|
-
|
|
96
|
-
# Install the package in editable mode
|
|
97
|
-
uv pip install -e .
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**Note**: Make sure to deactivate any other conda/virtual environments before running `uv sync` to avoid environment conflicts.
|
|
101
|
-
|
|
102
|
-
### Option 2: Using pip/source installation
|
|
103
|
-
|
|
104
75
|
```bash
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
# Install dependencies
|
|
109
|
-
pip install -r requirements.txt
|
|
110
|
-
pip install -r test_requirements.txt
|
|
76
|
+
# release version
|
|
77
|
+
pip install nextrec
|
|
111
78
|
|
|
112
|
-
#
|
|
113
|
-
pip install -
|
|
79
|
+
# pre-release version
|
|
80
|
+
pip install -i https://test.pypi.org/simple/ nextrec
|
|
114
81
|
```
|
|
115
|
-
|
|
116
82
|
---
|
|
117
83
|
|
|
118
84
|
## 5-Minute Quick Start
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
nextrec/__init__.py,sha256=QmyGxhPAZHcl-znnAHyqEsx-PssA1y9JhRsAiaAteXY,1114
|
|
2
|
+
nextrec/__version__.py,sha256=YvuYzWnKtqBb-IqG8HAu-nhIYAsgj9Vmc_b9o7vO-js,22
|
|
3
|
+
nextrec/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
nextrec/basic/activation.py,sha256=-Tjeb2vNIB530dUGS_mxV8QGqIHaF87qnuD580f80hI,2760
|
|
5
|
+
nextrec/basic/callback.py,sha256=1zBZI0jDi_NfvfCW8nRYy_ZwmVZ-rcgMNNzNgPxB5uU,1040
|
|
6
|
+
nextrec/basic/dataloader.py,sha256=F0J-Gj-SqEkCSaCUgIrYs87Ivgcq6G1plnF_s3GvJ6I,18685
|
|
7
|
+
nextrec/basic/features.py,sha256=tdbLTaTUyROkJ4JVdXk0pJ4lJQgBopJXNz5xQbESudk,2343
|
|
8
|
+
nextrec/basic/layers.py,sha256=BzrEvhTq8ZCJ6t1mK-6uoUwMbu_qbVqTr56HDZQiA1c,39784
|
|
9
|
+
nextrec/basic/loggers.py,sha256=M4IEhi4dIfW-Glvk7FPkIqNhVjvKJywRVPbbDx1pjEM,3552
|
|
10
|
+
nextrec/basic/metrics.py,sha256=MxZZoTJasTJZ87qZC2lVSCxJIeXInNjuOF8J_vabMOo,21289
|
|
11
|
+
nextrec/basic/model.py,sha256=-IpQWeo8c91Fs6vFW-diZ3zUVJbBGIbzKh5BsIRLLa8,70141
|
|
12
|
+
nextrec/data/__init__.py,sha256=DdXxJq8lw2fjyrMUygOXA-1sBN245YQnN8zZO55JIWI,524
|
|
13
|
+
nextrec/data/data_utils.py,sha256=hMq5fxjlmjr187DSVR1-Jv-L5tJ_BlEsAu7F2U7qG14,4124
|
|
14
|
+
nextrec/data/preprocessor.py,sha256=ewqJAl7YJ9fx5kr_pUgZIsxG5cH0WjM04izslhDnp6o,25891
|
|
15
|
+
nextrec/loss/__init__.py,sha256=JoM2AJ0NdjxGZNq2xtaHkyC9seBj9gwEBgNqt01pvsg,647
|
|
16
|
+
nextrec/loss/loss_utils.py,sha256=TVDXSflTZ95E-MtkM4Fr82jGfBjgrCOjTvpl4fXzq78,4706
|
|
17
|
+
nextrec/loss/match_losses.py,sha256=KhIQuKZ9uxQkE1-gexXz5RqPImYHcCWsUTOUt2edJts,11660
|
|
18
|
+
nextrec/models/generative/hstu.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
nextrec/models/generative/tiger.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
nextrec/models/match/__init__.py,sha256=gX5UYw366SZZasc5fYucuG36j57bftzQVXNwv2h-1dI,215
|
|
21
|
+
nextrec/models/match/dssm.py,sha256=flgeIiUBCzbzrLqY-TTIHXXpu2ij83mFc90llxJC-Lw,7383
|
|
22
|
+
nextrec/models/match/dssm_v2.py,sha256=bI5OWA3ZFIAIYELsBzhuf8KT66zGxbpQN2QOxFNd9L0,6145
|
|
23
|
+
nextrec/models/match/mind.py,sha256=xFoVuLZ5ivu1dYb_MXWtK7iB68WfHdEn35rDcX1btbM,8506
|
|
24
|
+
nextrec/models/match/sdm.py,sha256=PGbsfcKRaDcPyOJX62BErqdhsSs7igHsvmLvv8clAH8,9855
|
|
25
|
+
nextrec/models/match/youtube_dnn.py,sha256=AtHryjaSYc9rMElQr0UXrf538MNcKI8_h8R60C46gVk,6563
|
|
26
|
+
nextrec/models/multi_task/esmm.py,sha256=VgELfENaVe1rFZRhKxnxh10XlAagyjGVDpprpyqGWsI,4671
|
|
27
|
+
nextrec/models/multi_task/mmoe.py,sha256=bZYuyh1LtmLRnPnIVlwfE9NfSgABwyHxwyxj7UwvSyo,5950
|
|
28
|
+
nextrec/models/multi_task/ple.py,sha256=khpkYHI61NwQAf9JJ8BMKT5PGkMCExtNUt1sd050lOU,11393
|
|
29
|
+
nextrec/models/multi_task/share_bottom.py,sha256=KMgOJKxq2Y2zT_ETlqzfhwuH92SdL-tUEkxVz0ThtOE,4309
|
|
30
|
+
nextrec/models/ranking/__init__.py,sha256=sAFJT2DMBxXdtg1csHBQqQYTHCn0x8KbTVwM32PQ8m8,290
|
|
31
|
+
nextrec/models/ranking/afm.py,sha256=WA_YKyRvDDbA0FQzTOYwkmtKdSEGju8s4w2aeReyFX0,4456
|
|
32
|
+
nextrec/models/ranking/autoint.py,sha256=rYnyQMjvk4HrwJEZm6HQti1jq57rcUzWBzYb2B_fyhE,5541
|
|
33
|
+
nextrec/models/ranking/dcn.py,sha256=Dv6IA51R3nDYWL_w1gpm7hLeJMEpV7Q-7K2xv0n0lEM,4042
|
|
34
|
+
nextrec/models/ranking/deepfm.py,sha256=0_I6n_x1D9he6-t_l47-Es46-8syhASwQ9B_uUTKl3Y,3376
|
|
35
|
+
nextrec/models/ranking/dien.py,sha256=JQfNWAKlCwA6AxdqOvyKGVJERr1iwES3cd2F-i4gPD4,8503
|
|
36
|
+
nextrec/models/ranking/din.py,sha256=fEg1YszZuHICsrVxOYylcNWBl68KTlyz4rIeHcw-qRQ,7104
|
|
37
|
+
nextrec/models/ranking/fibinet.py,sha256=UI1ZOISooSXZrvweLZH3mNLhmfuIlKF1pXCHRtMOG3I,4825
|
|
38
|
+
nextrec/models/ranking/fm.py,sha256=zQn2KxBFrVf_6DNFgVlb5UdpCq5WPScJAwk8NSd0OmY,2725
|
|
39
|
+
nextrec/models/ranking/masknet.py,sha256=9iVlF7UDpq446HGB4GrxY8qweelZvzjilCzMhwzosXU,4390
|
|
40
|
+
nextrec/models/ranking/pnn.py,sha256=iTwGBZU1dl1rQSp-SPiaQt91L8j6NPFsSQd4mj7Ta7g,4703
|
|
41
|
+
nextrec/models/ranking/widedeep.py,sha256=b60sQMRkn_rNTq2bqfFQe2JrRRQaY0mIAmM1i0hTUKc,3532
|
|
42
|
+
nextrec/models/ranking/xdeepfm.py,sha256=gAyxHi-JLnam5dg2yIEGHoxsrKafO91cupO9MCQpnS4,4068
|
|
43
|
+
nextrec/utils/__init__.py,sha256=S5cKbGm2xwQfUUSofwoFG901c7rGj0FL_IgTu1Fyiqc,510
|
|
44
|
+
nextrec/utils/common.py,sha256=-LrRY1MFAhgeyZkKyqdVQGxev6eH3gigNtlRKw5f8Iw,214
|
|
45
|
+
nextrec/utils/embedding.py,sha256=8U49AANGMdTUlxsDMIQHcFqZA63nh_mpqGrCy0FdGbw,477
|
|
46
|
+
nextrec/utils/initializer.py,sha256=IdOB6jbizKEIHp5fvpwJQMMH22J3mVIHu5osXAG_7eo,1760
|
|
47
|
+
nextrec/utils/optimizer.py,sha256=MPbCUQrqiAf91v21xkiZkzeSa_oernWpuH4iAP5uBgU,2505
|
|
48
|
+
nextrec-0.1.2.dist-info/METADATA,sha256=pNpRM_std3ZoYokYXvigQDn8p-ahIzs_rIRA6-gfLxE,10230
|
|
49
|
+
nextrec-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
50
|
+
nextrec-0.1.2.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
|
|
51
|
+
nextrec-0.1.2.dist-info/RECORD,,
|
nextrec-0.1.1.dist-info/RECORD
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
nextrec/__init__.py,sha256=CvocnY2uBp0cjNkhrT6ogw0q2bN9s1GNp754FLO-7lo,1117
|
|
2
|
-
nextrec/__version__.py,sha256=rnObPjuBcEStqSO0S6gsdS_ot8ITOQjVj_-P1LUUYpg,22
|
|
3
|
-
nextrec/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
nextrec/basic/activation.py,sha256=XJDTFzmacpLq8DMNbFVhZ3WhlOmKDE88vp0udnVpXtE,2808
|
|
5
|
-
nextrec/basic/callback.py,sha256=c0QeolbPJzCYhJnPf9rrZwFU13zmLxg59nvQGbpetNo,1039
|
|
6
|
-
nextrec/basic/dataloader.py,sha256=roG1a7VRPpdy9XBv0rJg7wz00ggok9WNHU_EoDIxY2c,18898
|
|
7
|
-
nextrec/basic/features.py,sha256=wJbiDqE_qWA5gArUm-NYHaLgk7AMxpA7loaovf84dSU,2526
|
|
8
|
-
nextrec/basic/layers.py,sha256=dvMir_0PJQfZv0uCUeqyiJpb-QOz0f2CUu2Cuuxh7iA,38300
|
|
9
|
-
nextrec/basic/loggers.py,sha256=0fupxPiHrKcBEJTBm0Sjcim0rU-n0gYKuy6IiCYX1Bw,3480
|
|
10
|
-
nextrec/basic/metrics.py,sha256=p79-IRRprLcXjjicrG41vM0zwRGtUY5tTPoybpvz-io,20402
|
|
11
|
-
nextrec/basic/model.py,sha256=Z6U4p5i-lNY0ypZWoR3PAcQc1d3XyiEAasUl6Z3AQf4,65859
|
|
12
|
-
nextrec/data/__init__.py,sha256=vvBNAdHcVO54aaaT-SyYHWsPHhoH8GvrlZ2hMRjqyF8,524
|
|
13
|
-
nextrec/data/data_utils.py,sha256=rpcj5CIWw8RlLn1NYva_gEOlpYG1cy65rB1BSv23XAM,4113
|
|
14
|
-
nextrec/data/preprocessor.py,sha256=0gYc_nH6ek3QxgncSZ8B8KyYmIYdCFMx9rSEdo4-aFw,26442
|
|
15
|
-
nextrec/loss/__init__.py,sha256=kBanUB5rxQKwXTd6f-2hOI_CF7cp_MClAwAeVXIkpig,647
|
|
16
|
-
nextrec/loss/loss_utils.py,sha256=3zeeLBG4lNIXCO94jx-BYlSHl14t-U7L06dQuzVSPJ8,4752
|
|
17
|
-
nextrec/loss/match_losses.py,sha256=BaH4GKVSFU_PNhHPP_JuAM5zwjOIPxcbuNLYpK0-EWA,11652
|
|
18
|
-
nextrec/models/generative/hstu.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
nextrec/models/generative/tiger.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
nextrec/models/match/__init__.py,sha256=ASZB5abqKPhDbk8NErNNNa0DHuWpsVxvUtyEn5XMx6Y,215
|
|
21
|
-
nextrec/models/match/dssm.py,sha256=rl-8-4pG5_DgxM0VYZuPzLP1lhvDF1BbQQoqxBMMqYw,7702
|
|
22
|
-
nextrec/models/match/dssm_v2.py,sha256=eyWrCo8g8y-e_fq5168iTA_xuHdYWBT9v96GaPor6-o,6407
|
|
23
|
-
nextrec/models/match/mind.py,sha256=5g7b-VOShPQ9D4FG-1z8exKYFLJS_z_Lt2bvU_qSC98,8735
|
|
24
|
-
nextrec/models/match/sdm.py,sha256=rJK49438-49JvzNQX2Vi6Zn1sn9twjyOb2YG2lVaGlc,10238
|
|
25
|
-
nextrec/models/match/youtube_dnn.py,sha256=Su5kwrHGRXrv_4psXZgr9hXpUF5bdosXqdmtHb5J2Vs,6834
|
|
26
|
-
nextrec/models/multi_task/esmm.py,sha256=0dn8pJ7BAQh5oqpNZISSiTb6sgXddsG99eOdpQVMSTU,4817
|
|
27
|
-
nextrec/models/multi_task/mmoe.py,sha256=vly9c8e-Xc_m9AjWUmTGtidf67bjiHPwwbAFbXc0XpM,6099
|
|
28
|
-
nextrec/models/multi_task/ple.py,sha256=mM8shre3BX-sg_peokMh35_-wQAMG5UI2eUfhyRzTgs,11269
|
|
29
|
-
nextrec/models/multi_task/share_bottom.py,sha256=MzShugQya1rSovhbvmTDD4Uf1MRCGfgIKqKXVsz0RTo,4451
|
|
30
|
-
nextrec/models/ranking/__init__.py,sha256=GMn3R5TkE9W17dzHuQoASJsQCoM_EIHuUhnMS2jMdZw,291
|
|
31
|
-
nextrec/models/ranking/afm.py,sha256=BZvGyJZ9aAoL3P8ebsMoQ9HqX2UyKkFdktfz3_VMalA,4483
|
|
32
|
-
nextrec/models/ranking/autoint.py,sha256=D9jeEP0w-IssbporOIPzTzi6PveiYVcgN7D6AXYxyLc,5580
|
|
33
|
-
nextrec/models/ranking/dcn.py,sha256=HyXXzooS1zqOWU6MAPi6tBdmDs4o64HP9vBV5fYdKO4,4134
|
|
34
|
-
nextrec/models/ranking/deepfm.py,sha256=Yl95d4r0dytcZSn4A8ukgxOQ8eaF0t5MqDd9KPfkdPI,3453
|
|
35
|
-
nextrec/models/ranking/dien.py,sha256=2maimf_c6L-I0JpJNbmpIjbMV8uCndrdFiqvjwxMaj8,8401
|
|
36
|
-
nextrec/models/ranking/din.py,sha256=Qs4IxfvCmT2lGtZ6BvgdzMoT0lCy88yaXE1FecaMo2c,7122
|
|
37
|
-
nextrec/models/ranking/fibinet.py,sha256=h6a738bo3VikKHKZhOzk_p9YGNs7hWcpEOkJvOMDR88,4779
|
|
38
|
-
nextrec/models/ranking/fm.py,sha256=WsbQV8RUc2O7b66GRZicNWaWOtin_QLO8e_Skjk5aIY,2887
|
|
39
|
-
nextrec/models/ranking/masknet.py,sha256=ADki3oMR7PwWgcf5GhIUQJxto-gFNmIlU-GRsdi04Jk,4565
|
|
40
|
-
nextrec/models/ranking/pnn.py,sha256=ZhsUh-O_kLJLfK28dp81DMGYnzMkO-L86CgESlT2TB0,4883
|
|
41
|
-
nextrec/models/ranking/widedeep.py,sha256=7EylqHFaxrclRr-PVhKRxBLOOf8E5-AJbWfJqZpdzy0,3642
|
|
42
|
-
nextrec/models/ranking/xdeepfm.py,sha256=p2PrQHxmvABdQl1wLnP5VyRy5Chdp7Xcw1FJw7m1LFY,4200
|
|
43
|
-
nextrec/utils/__init__.py,sha256=-wyEzZrYQ9QL5zPbWdBIWzg-HbT-2wmmbH2Kceuzlzk,510
|
|
44
|
-
nextrec/utils/common.py,sha256=-LrRY1MFAhgeyZkKyqdVQGxev6eH3gigNtlRKw5f8Iw,214
|
|
45
|
-
nextrec/utils/embedding.py,sha256=Xl5bXAdxdGc0FV3FthNqJe9MP0M_rZI1uaOlPi3vLj8,478
|
|
46
|
-
nextrec/utils/initializer.py,sha256=ka5sgXWqAb9x5hQS6ypgonR93OUajBVUAwO7q-JPjIE,1660
|
|
47
|
-
nextrec/utils/optimizer.py,sha256=g9IETUdflM89YKSzInP_iS_hTnDy_cjpm6Wcq9V9_vE,2468
|
|
48
|
-
nextrec-0.1.1.dist-info/METADATA,sha256=AvRHx-l50RENWL-w5EA2xSwNEmtxF1mqz1XHddfGSKY,11113
|
|
49
|
-
nextrec-0.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
50
|
-
nextrec-0.1.1.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
|
|
51
|
-
nextrec-0.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|