nextrec 0.1.4__py3-none-any.whl → 0.1.7__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 +9 -10
- nextrec/basic/callback.py +0 -1
- nextrec/basic/dataloader.py +127 -168
- nextrec/basic/features.py +27 -24
- nextrec/basic/layers.py +159 -328
- nextrec/basic/loggers.py +37 -50
- nextrec/basic/metrics.py +147 -255
- nextrec/basic/model.py +462 -817
- nextrec/data/__init__.py +5 -5
- nextrec/data/data_utils.py +12 -16
- nextrec/data/preprocessor.py +252 -276
- nextrec/loss/__init__.py +12 -12
- nextrec/loss/loss_utils.py +22 -30
- nextrec/loss/match_losses.py +83 -116
- nextrec/models/match/__init__.py +5 -5
- nextrec/models/match/dssm.py +61 -70
- nextrec/models/match/dssm_v2.py +51 -61
- nextrec/models/match/mind.py +71 -89
- nextrec/models/match/sdm.py +81 -93
- nextrec/models/match/youtube_dnn.py +53 -62
- nextrec/models/multi_task/esmm.py +43 -49
- nextrec/models/multi_task/mmoe.py +56 -65
- nextrec/models/multi_task/ple.py +65 -92
- nextrec/models/multi_task/share_bottom.py +42 -48
- nextrec/models/ranking/__init__.py +7 -7
- nextrec/models/ranking/afm.py +30 -39
- nextrec/models/ranking/autoint.py +57 -70
- nextrec/models/ranking/dcn.py +35 -43
- nextrec/models/ranking/deepfm.py +28 -34
- nextrec/models/ranking/dien.py +79 -115
- nextrec/models/ranking/din.py +60 -84
- nextrec/models/ranking/fibinet.py +35 -51
- nextrec/models/ranking/fm.py +26 -28
- nextrec/models/ranking/masknet.py +31 -31
- nextrec/models/ranking/pnn.py +31 -30
- nextrec/models/ranking/widedeep.py +31 -36
- nextrec/models/ranking/xdeepfm.py +39 -46
- nextrec/utils/__init__.py +9 -9
- nextrec/utils/embedding.py +1 -1
- nextrec/utils/initializer.py +15 -23
- nextrec/utils/optimizer.py +10 -14
- {nextrec-0.1.4.dist-info → nextrec-0.1.7.dist-info}/METADATA +16 -7
- nextrec-0.1.7.dist-info/RECORD +51 -0
- nextrec-0.1.4.dist-info/RECORD +0 -51
- {nextrec-0.1.4.dist-info → nextrec-0.1.7.dist-info}/WHEEL +0 -0
- {nextrec-0.1.4.dist-info → nextrec-0.1.7.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,33 +21,25 @@ 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(
|
|
25
|
-
"gain", nn.init.calculate_gain(activation, param.get("param", None))
|
|
26
|
-
)
|
|
24
|
+
gain = param.get('gain', nn.init.calculate_gain(activation, param.get('param', None)))
|
|
27
25
|
except ValueError:
|
|
28
26
|
gain = 1.0 # for custom activations like 'dice'
|
|
29
|
-
|
|
27
|
+
|
|
30
28
|
def initializer_fn(tensor):
|
|
31
|
-
if init_type ==
|
|
29
|
+
if init_type == 'xavier_uniform':
|
|
32
30
|
nn.init.xavier_uniform_(tensor, gain=gain)
|
|
33
|
-
elif init_type ==
|
|
31
|
+
elif init_type == 'xavier_normal':
|
|
34
32
|
nn.init.xavier_normal_(tensor, gain=gain)
|
|
35
|
-
elif init_type ==
|
|
36
|
-
nn.init.kaiming_uniform_(
|
|
37
|
-
|
|
38
|
-
)
|
|
39
|
-
elif init_type ==
|
|
40
|
-
nn.init.kaiming_normal_(
|
|
41
|
-
tensor, a=param.get("a", 0), nonlinearity=activation
|
|
42
|
-
)
|
|
43
|
-
elif init_type == "orthogonal":
|
|
33
|
+
elif init_type == 'kaiming_uniform':
|
|
34
|
+
nn.init.kaiming_uniform_(tensor, a=param.get('a', 0), nonlinearity=activation)
|
|
35
|
+
elif init_type == 'kaiming_normal':
|
|
36
|
+
nn.init.kaiming_normal_(tensor, a=param.get('a', 0), nonlinearity=activation)
|
|
37
|
+
elif init_type == 'orthogonal':
|
|
44
38
|
nn.init.orthogonal_(tensor, gain=gain)
|
|
45
|
-
elif init_type ==
|
|
46
|
-
nn.init.normal_(
|
|
47
|
-
|
|
48
|
-
)
|
|
49
|
-
elif init_type == "uniform":
|
|
50
|
-
nn.init.uniform_(tensor, a=param.get("a", -0.05), b=param.get("b", 0.05))
|
|
39
|
+
elif init_type == 'normal':
|
|
40
|
+
nn.init.normal_(tensor, mean=param.get('mean', 0.0), std=param.get('std', 0.0001))
|
|
41
|
+
elif init_type == 'uniform':
|
|
42
|
+
nn.init.uniform_(tensor, a=param.get('a', -0.05), b=param.get('b', 0.05))
|
|
51
43
|
else:
|
|
52
44
|
raise ValueError(f"Unknown init_type: {init_type}")
|
|
53
45
|
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,32 +48,28 @@ 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(
|
|
66
|
-
optimizer, **scheduler_params
|
|
67
|
-
)
|
|
65
|
+
scheduler_fn = torch.optim.lr_scheduler.StepLR(optimizer, **scheduler_params)
|
|
68
66
|
elif scheduler == "cosine":
|
|
69
|
-
scheduler_fn = torch.optim.lr_scheduler.CosineAnnealingLR(
|
|
70
|
-
optimizer, **scheduler_params
|
|
71
|
-
)
|
|
67
|
+
scheduler_fn = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, **scheduler_params)
|
|
72
68
|
else:
|
|
73
69
|
raise NotImplementedError(f"Unsupported scheduler: {scheduler}")
|
|
74
70
|
elif isinstance(scheduler, torch.optim.lr_scheduler._LRScheduler):
|
|
75
71
|
scheduler_fn = scheduler
|
|
76
72
|
else:
|
|
77
73
|
raise TypeError(f"Invalid scheduler type: {type(scheduler)}")
|
|
78
|
-
|
|
74
|
+
|
|
79
75
|
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.7
|
|
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
|
|
@@ -19,12 +19,21 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
20
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
21
|
Requires-Python: >=3.10
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist: numpy>=1.23.0
|
|
24
|
-
Requires-Dist:
|
|
25
|
-
Requires-Dist:
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
22
|
+
Requires-Dist: numpy<2.0,>=1.21; sys_platform == 'linux'
|
|
23
|
+
Requires-Dist: numpy>=1.23.0; sys_platform == 'win32'
|
|
24
|
+
Requires-Dist: numpy>=1.24.0; sys_platform == 'darwin'
|
|
25
|
+
Requires-Dist: pandas<2.0,>=1.5; sys_platform == 'linux'
|
|
26
|
+
Requires-Dist: pandas<2.3.0,>=2.1.0; sys_platform == 'win32'
|
|
27
|
+
Requires-Dist: pandas>=2.0.0; sys_platform == 'darwin'
|
|
28
|
+
Requires-Dist: pyarrow<13.0.0,>=10.0.0; sys_platform == 'linux'
|
|
29
|
+
Requires-Dist: pyarrow<15.0.0,>=12.0.0; sys_platform == 'win32'
|
|
30
|
+
Requires-Dist: pyarrow>=12.0.0; sys_platform == 'darwin'
|
|
31
|
+
Requires-Dist: scikit-learn<2.0,>=1.2; sys_platform == 'linux'
|
|
32
|
+
Requires-Dist: scikit-learn>=1.3.0; sys_platform == 'darwin'
|
|
33
|
+
Requires-Dist: scikit-learn>=1.3.0; sys_platform == 'win32'
|
|
34
|
+
Requires-Dist: scipy<1.12,>=1.8; sys_platform == 'linux'
|
|
35
|
+
Requires-Dist: scipy>=1.10.0; sys_platform == 'darwin'
|
|
36
|
+
Requires-Dist: scipy>=1.10.0; sys_platform == 'win32'
|
|
28
37
|
Requires-Dist: torch>=2.0.0
|
|
29
38
|
Requires-Dist: torchvision>=0.15.0
|
|
30
39
|
Requires-Dist: tqdm>=4.65.0
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
nextrec/__init__.py,sha256=CvocnY2uBp0cjNkhrT6ogw0q2bN9s1GNp754FLO-7lo,1117
|
|
2
|
+
nextrec/__version__.py,sha256=YpKDcdV7CqL8n45u267wKtyloM13FSVbOdrqgNZnSLM,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.7.dist-info/METADATA,sha256=RpX4b80kJYbKf43DGcp9e2M8tVk_ievXE82FXYvVUiw,10914
|
|
49
|
+
nextrec-0.1.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
50
|
+
nextrec-0.1.7.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
|
|
51
|
+
nextrec-0.1.7.dist-info/RECORD,,
|
nextrec-0.1.4.dist-info/RECORD
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
nextrec/__init__.py,sha256=QmyGxhPAZHcl-znnAHyqEsx-PssA1y9JhRsAiaAteXY,1114
|
|
2
|
-
nextrec/__version__.py,sha256=Wzf5T3NBDfhQoTnhnRNHSlAsE0XMqbclXG-M81Vas70,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.4.dist-info/METADATA,sha256=rWEiUdg1wqR0_k8bum1l6aSryf_EMjkmZgfnQFSL_aE,10245
|
|
49
|
-
nextrec-0.1.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
50
|
-
nextrec-0.1.4.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
|
|
51
|
-
nextrec-0.1.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|