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.
Files changed (48) hide show
  1. nextrec/__init__.py +4 -4
  2. nextrec/__version__.py +1 -1
  3. nextrec/basic/activation.py +9 -10
  4. nextrec/basic/callback.py +0 -1
  5. nextrec/basic/dataloader.py +127 -168
  6. nextrec/basic/features.py +27 -24
  7. nextrec/basic/layers.py +159 -328
  8. nextrec/basic/loggers.py +37 -50
  9. nextrec/basic/metrics.py +147 -255
  10. nextrec/basic/model.py +462 -817
  11. nextrec/data/__init__.py +5 -5
  12. nextrec/data/data_utils.py +12 -16
  13. nextrec/data/preprocessor.py +252 -276
  14. nextrec/loss/__init__.py +12 -12
  15. nextrec/loss/loss_utils.py +22 -30
  16. nextrec/loss/match_losses.py +83 -116
  17. nextrec/models/match/__init__.py +5 -5
  18. nextrec/models/match/dssm.py +61 -70
  19. nextrec/models/match/dssm_v2.py +51 -61
  20. nextrec/models/match/mind.py +71 -89
  21. nextrec/models/match/sdm.py +81 -93
  22. nextrec/models/match/youtube_dnn.py +53 -62
  23. nextrec/models/multi_task/esmm.py +43 -49
  24. nextrec/models/multi_task/mmoe.py +56 -65
  25. nextrec/models/multi_task/ple.py +65 -92
  26. nextrec/models/multi_task/share_bottom.py +42 -48
  27. nextrec/models/ranking/__init__.py +7 -7
  28. nextrec/models/ranking/afm.py +30 -39
  29. nextrec/models/ranking/autoint.py +57 -70
  30. nextrec/models/ranking/dcn.py +35 -43
  31. nextrec/models/ranking/deepfm.py +28 -34
  32. nextrec/models/ranking/dien.py +79 -115
  33. nextrec/models/ranking/din.py +60 -84
  34. nextrec/models/ranking/fibinet.py +35 -51
  35. nextrec/models/ranking/fm.py +26 -28
  36. nextrec/models/ranking/masknet.py +31 -31
  37. nextrec/models/ranking/pnn.py +31 -30
  38. nextrec/models/ranking/widedeep.py +31 -36
  39. nextrec/models/ranking/xdeepfm.py +39 -46
  40. nextrec/utils/__init__.py +9 -9
  41. nextrec/utils/embedding.py +1 -1
  42. nextrec/utils/initializer.py +15 -23
  43. nextrec/utils/optimizer.py +10 -14
  44. {nextrec-0.1.4.dist-info → nextrec-0.1.7.dist-info}/METADATA +16 -7
  45. nextrec-0.1.7.dist-info/RECORD +51 -0
  46. nextrec-0.1.4.dist-info/RECORD +0 -51
  47. {nextrec-0.1.4.dist-info → nextrec-0.1.7.dist-info}/WHEEL +0 -0
  48. {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
- "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",
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
  ]
@@ -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)))
@@ -9,10 +9,10 @@ Author:
9
9
  import torch.nn as nn
10
10
 
11
11
 
12
- def get_initializer_fn(init_type="normal", activation="linear", param=None):
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 == "xavier_uniform":
29
+ if init_type == 'xavier_uniform':
32
30
  nn.init.xavier_uniform_(tensor, gain=gain)
33
- elif init_type == "xavier_normal":
31
+ elif init_type == 'xavier_normal':
34
32
  nn.init.xavier_normal_(tensor, gain=gain)
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":
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 == "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))
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
@@ -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 "lr" not in optimizer_params:
29
- optimizer_params["lr"] = 1e-3
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.4
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: fastparquet>=2023.4.0
23
- Requires-Dist: numpy>=1.23.0
24
- Requires-Dist: pandas<2.3.0,>=2.1.0
25
- Requires-Dist: pyarrow<15.0.0,>=12.0.0
26
- Requires-Dist: scikit-learn>=1.3.0
27
- Requires-Dist: scipy>=1.10.0
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,,
@@ -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,,