nextrec 0.4.1__py3-none-any.whl → 0.4.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.
Files changed (62) hide show
  1. nextrec/__init__.py +1 -1
  2. nextrec/__version__.py +1 -1
  3. nextrec/basic/activation.py +10 -5
  4. nextrec/basic/callback.py +1 -0
  5. nextrec/basic/features.py +30 -22
  6. nextrec/basic/layers.py +220 -106
  7. nextrec/basic/loggers.py +62 -43
  8. nextrec/basic/metrics.py +268 -119
  9. nextrec/basic/model.py +1082 -400
  10. nextrec/basic/session.py +10 -3
  11. nextrec/cli.py +498 -0
  12. nextrec/data/__init__.py +19 -25
  13. nextrec/data/batch_utils.py +11 -3
  14. nextrec/data/data_processing.py +51 -45
  15. nextrec/data/data_utils.py +26 -15
  16. nextrec/data/dataloader.py +272 -95
  17. nextrec/data/preprocessor.py +320 -199
  18. nextrec/loss/listwise.py +17 -9
  19. nextrec/loss/loss_utils.py +7 -8
  20. nextrec/loss/pairwise.py +2 -0
  21. nextrec/loss/pointwise.py +30 -12
  22. nextrec/models/generative/hstu.py +103 -38
  23. nextrec/models/match/dssm.py +82 -68
  24. nextrec/models/match/dssm_v2.py +72 -57
  25. nextrec/models/match/mind.py +175 -107
  26. nextrec/models/match/sdm.py +104 -87
  27. nextrec/models/match/youtube_dnn.py +73 -59
  28. nextrec/models/multi_task/esmm.py +53 -37
  29. nextrec/models/multi_task/mmoe.py +64 -45
  30. nextrec/models/multi_task/ple.py +101 -48
  31. nextrec/models/multi_task/poso.py +113 -36
  32. nextrec/models/multi_task/share_bottom.py +48 -35
  33. nextrec/models/ranking/afm.py +72 -37
  34. nextrec/models/ranking/autoint.py +72 -55
  35. nextrec/models/ranking/dcn.py +55 -35
  36. nextrec/models/ranking/dcn_v2.py +64 -23
  37. nextrec/models/ranking/deepfm.py +32 -22
  38. nextrec/models/ranking/dien.py +155 -99
  39. nextrec/models/ranking/din.py +85 -57
  40. nextrec/models/ranking/fibinet.py +52 -32
  41. nextrec/models/ranking/fm.py +29 -23
  42. nextrec/models/ranking/masknet.py +91 -29
  43. nextrec/models/ranking/pnn.py +31 -28
  44. nextrec/models/ranking/widedeep.py +34 -26
  45. nextrec/models/ranking/xdeepfm.py +60 -38
  46. nextrec/utils/__init__.py +59 -34
  47. nextrec/utils/config.py +490 -0
  48. nextrec/utils/device.py +30 -20
  49. nextrec/utils/distributed.py +36 -9
  50. nextrec/utils/embedding.py +1 -0
  51. nextrec/utils/feature.py +1 -0
  52. nextrec/utils/file.py +32 -11
  53. nextrec/utils/initializer.py +61 -16
  54. nextrec/utils/optimizer.py +25 -9
  55. nextrec/utils/synthetic_data.py +283 -165
  56. nextrec/utils/tensor.py +24 -13
  57. {nextrec-0.4.1.dist-info → nextrec-0.4.2.dist-info}/METADATA +4 -4
  58. nextrec-0.4.2.dist-info/RECORD +69 -0
  59. nextrec-0.4.2.dist-info/entry_points.txt +2 -0
  60. nextrec-0.4.1.dist-info/RECORD +0 -66
  61. {nextrec-0.4.1.dist-info → nextrec-0.4.2.dist-info}/WHEEL +0 -0
  62. {nextrec-0.4.1.dist-info → nextrec-0.4.2.dist-info}/licenses/LICENSE +0 -0
nextrec/utils/tensor.py CHANGED
@@ -6,56 +6,67 @@ Author: Yang Zhou, zyaztec@gmail.com
6
6
  """
7
7
 
8
8
  import torch
9
- import numpy as np
10
9
  from typing import Any
11
10
 
12
11
 
13
12
  def to_tensor(
14
- value: Any,
15
- dtype: torch.dtype,
16
- device: torch.device | str | None = None
13
+ value: Any, dtype: torch.dtype, device: torch.device | str | None = None
17
14
  ) -> torch.Tensor:
18
15
  if value is None:
19
16
  raise ValueError("[Tensor Utils Error] Cannot convert None to tensor.")
20
17
  tensor = value if isinstance(value, torch.Tensor) else torch.as_tensor(value)
21
18
  if tensor.dtype != dtype:
22
19
  tensor = tensor.to(dtype=dtype)
23
-
20
+
24
21
  if device is not None:
25
- target_device = device if isinstance(device, torch.device) else torch.device(device)
22
+ target_device = (
23
+ device if isinstance(device, torch.device) else torch.device(device)
24
+ )
26
25
  if tensor.device != target_device:
27
26
  tensor = tensor.to(target_device)
28
27
  return tensor
29
28
 
29
+
30
30
  def stack_tensors(tensors: list[torch.Tensor], dim: int = 0) -> torch.Tensor:
31
31
  if not tensors:
32
32
  raise ValueError("[Tensor Utils Error] Cannot stack empty list of tensors.")
33
33
  return torch.stack(tensors, dim=dim)
34
34
 
35
+
35
36
  def concat_tensors(tensors: list[torch.Tensor], dim: int = 0) -> torch.Tensor:
36
37
  if not tensors:
37
- raise ValueError("[Tensor Utils Error] Cannot concatenate empty list of tensors.")
38
+ raise ValueError(
39
+ "[Tensor Utils Error] Cannot concatenate empty list of tensors."
40
+ )
38
41
  return torch.cat(tensors, dim=dim)
39
42
 
43
+
40
44
  def pad_sequence_tensors(
41
45
  tensors: list[torch.Tensor],
42
46
  max_len: int | None = None,
43
47
  padding_value: float = 0.0,
44
- padding_side: str = 'right'
48
+ padding_side: str = "right",
45
49
  ) -> torch.Tensor:
46
50
  if not tensors:
47
51
  raise ValueError("[Tensor Utils Error] Cannot pad empty list of tensors.")
48
52
  if max_len is None:
49
53
  max_len = max(t.size(0) for t in tensors)
50
54
  batch_size = len(tensors)
51
- padded = torch.full((batch_size, max_len), padding_value, dtype=tensors[0].dtype, device=tensors[0].device)
52
-
55
+ padded = torch.full(
56
+ (batch_size, max_len),
57
+ padding_value,
58
+ dtype=tensors[0].dtype,
59
+ device=tensors[0].device,
60
+ )
61
+
53
62
  for i, tensor in enumerate(tensors):
54
63
  length = min(tensor.size(0), max_len)
55
- if padding_side == 'right':
64
+ if padding_side == "right":
56
65
  padded[i, :length] = tensor[:length]
57
- elif padding_side == 'left':
66
+ elif padding_side == "left":
58
67
  padded[i, -length:] = tensor[:length]
59
68
  else:
60
- raise ValueError(f"[Tensor Utils Error] padding_side must be 'right' or 'left', got {padding_side}")
69
+ raise ValueError(
70
+ f"[Tensor Utils Error] padding_side must be 'right' or 'left', got {padding_side}"
71
+ )
61
72
  return padded
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextrec
3
- Version: 0.4.1
3
+ Version: 0.4.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
@@ -63,7 +63,7 @@ Description-Content-Type: text/markdown
63
63
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
64
64
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
65
65
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
66
- ![Version](https://img.shields.io/badge/Version-0.4.1-orange.svg)
66
+ ![Version](https://img.shields.io/badge/Version-0.4.2-orange.svg)
67
67
 
68
68
  English | [中文文档](README_zh.md)
69
69
 
@@ -110,7 +110,7 @@ To dive deeper, Jupyter notebooks are available:
110
110
  - [Hands on the NextRec framework](/tutorials/notebooks/en/Hands%20on%20nextrec.ipynb)
111
111
  - [Using the data processor for preprocessing](/tutorials/notebooks/en/Hands%20on%20dataprocessor.ipynb)
112
112
 
113
- > Current version [0.4.1]: the matching module is not fully polished yet and may have compatibility issues or unexpected errors. Please raise an issue if you run into problems.
113
+ > Current version [0.4.2]: the matching module is not fully polished yet and may have compatibility issues or unexpected errors. Please raise an issue if you run into problems.
114
114
 
115
115
  ## 5-Minute Quick Start
116
116
 
@@ -198,7 +198,7 @@ metrics = model.evaluate(
198
198
 
199
199
  ## Platform Compatibility
200
200
 
201
- The current version is 0.4.1. All models and test code have been validated on the following platforms. If you encounter compatibility issues, please report them in the issue tracker with your system version:
201
+ The current version is 0.4.2. All models and test code have been validated on the following platforms. If you encounter compatibility issues, please report them in the issue tracker with your system version:
202
202
 
203
203
  | Platform | Configuration |
204
204
  |----------|---------------|
@@ -0,0 +1,69 @@
1
+ nextrec/__init__.py,sha256=_M3oUqyuvQ5k8Th_3wId6hQ_caclh7M5ad51XN09m98,235
2
+ nextrec/__version__.py,sha256=6hfVa12Q-nXyUEXr6SyKpqPEDJW6vlRHyPxlA27PfTs,22
3
+ nextrec/cli.py,sha256=W6Zvn8YuJ3zy8QXOGkyjXchw5wO5_gD67qy0aja0frQ,18747
4
+ nextrec/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ nextrec/basic/activation.py,sha256=uzTWfCOtBSkbu_Gk9XBNTj8__s241CaYLJk6l8nGX9I,2885
6
+ nextrec/basic/callback.py,sha256=YPkuSmy3WV8cXj8YmLKxwNP2kULpkUlJQf8pV8CkNYQ,1037
7
+ nextrec/basic/features.py,sha256=ZvFzH05yQzmeWpH74h5gpALz5XOqVZTibUZRzXvwdLU,4141
8
+ nextrec/basic/layers.py,sha256=NhT73cpQgFbR70ZNYuhk6DwKHzThi1oTSw5DoTn41aU,24940
9
+ nextrec/basic/loggers.py,sha256=FSm9OtsiAn8xRvdGtqqDeTVlFX6tQjQdxaRSu1Gfgmw,6262
10
+ nextrec/basic/metrics.py,sha256=1QODkbWhueULfv6T6wlFDduY16T533NW0KAfhlXsDlU,23100
11
+ nextrec/basic/model.py,sha256=PhINJiG36j8-nOPGqxXNdpCFxLd2JhyweA3i84Uhukg,97129
12
+ nextrec/basic/session.py,sha256=UOG_-EgCOxvqZwCkiEd8sgNV2G1sm_HbzKYVQw8yYDI,4483
13
+ nextrec/data/__init__.py,sha256=auT_PkbgU9pUCt7KQl6H2ajcUorRhSyHa8NG3wExcG8,1197
14
+ nextrec/data/batch_utils.py,sha256=FAJiweuDyAIzX7rICVmcxMofdFs2-7RLinovwB-lAYM,2878
15
+ nextrec/data/data_processing.py,sha256=JTjNU55vj8UV2VgXwo0Qh4MQqWfD3z5uc95uOHIC4ck,5337
16
+ nextrec/data/data_utils.py,sha256=LaVNXATcqu0ARPV-6WESQz6JXi3g-zq4uKjcoqBFlqI,1219
17
+ nextrec/data/dataloader.py,sha256=UYGsNSRFIG9ma43QUNvh8Yk36pKS80ITxktX-PexoHY,18787
18
+ nextrec/data/preprocessor.py,sha256=BxoD6GHEre86i-TbxPi58Uwmg_G7oLkiER6f7VfmVHo,41583
19
+ nextrec/loss/__init__.py,sha256=mO5t417BneZ8Ysa51GyjDaffjWyjzFgPXIQrrggasaQ,827
20
+ nextrec/loss/listwise.py,sha256=UT9vJCOTOQLogVwaeTV7Z5uxIYnngGdxk-p9e97MGkU,5744
21
+ nextrec/loss/loss_utils.py,sha256=dFbVB9NAZdBDY-fnWkPvXrvCGL2Bz4I4DvpBlzz0X8w,2579
22
+ nextrec/loss/pairwise.py,sha256=X9yg-8pcPt2IWU0AiUhWAt3_4W_3wIF0uSdDYTdoPFY,3398
23
+ nextrec/loss/pointwise.py,sha256=o9J3OznY0hlbDsUXqn3k-BBzYiuUH5dopz8QBFqS_kQ,7343
24
+ nextrec/models/generative/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ nextrec/models/generative/hstu.py,sha256=FHdH4f7S38lLHcP0YmJPcHulJnZLHN6tn0u6zU0-RQ8,17190
26
+ nextrec/models/generative/tiger.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ nextrec/models/match/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ nextrec/models/match/dssm.py,sha256=suvle-7EF-P-FK3KAhoPG1FRCLvqbiu6HA8USFGf7kk,7854
29
+ nextrec/models/match/dssm_v2.py,sha256=TOTMEdIC6APIcQDonXLoOnO_wTD_UIrqq5M-ptEUATg,6878
30
+ nextrec/models/match/mind.py,sha256=so7XkuCHr5k5UBhEB65GL0JavFOjLGLYeN9Nuc4eNKA,15020
31
+ nextrec/models/match/sdm.py,sha256=MGEpLe1-UZ8kiHhR7-Q6zW-d9NnOm0ptHQWYVzh7m_Y,10488
32
+ nextrec/models/match/youtube_dnn.py,sha256=DxMn-WLaLGAWRy5qhpRszUugbpPxOMUsWEuh7QEAWQw,7214
33
+ nextrec/models/multi_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ nextrec/models/multi_task/esmm.py,sha256=RWdx5K4s8jsnQdYPkogHaW4RT0-QL4PRKrPEfpIj0UU,6322
35
+ nextrec/models/multi_task/mmoe.py,sha256=82_g13252xdSFxspqZ33gSj-jTZ1Co3pHuCdbhZdKZ4,7909
36
+ nextrec/models/multi_task/ple.py,sha256=_b6kI4XZp_v6tCcMtfq821GZFLupOCKZ9s9vQfk2jqw,12629
37
+ nextrec/models/multi_task/poso.py,sha256=uFNoQhb8XTHqeZ7U5GNAnHnQDz7FnSRihrzqg3oV9iQ,17793
38
+ nextrec/models/multi_task/share_bottom.py,sha256=mPlXTEW53BnuXBUlpo8aIonanwoLE1b1Sgccmo8S4dg,5934
39
+ nextrec/models/ranking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ nextrec/models/ranking/afm.py,sha256=QsL8XqQSfZk8ciUQm2K_AMeSk7t6ayyqdnByxhHARog,10027
41
+ nextrec/models/ranking/autoint.py,sha256=6aHhunbG2chW7OlS5BCoFltMd285njw2vpWO46gzJKk,8108
42
+ nextrec/models/ranking/dcn.py,sha256=sSfD3cA6z7J-LDwNVOnfcaaEJ29yWSYov7FXoHuMZlc,4916
43
+ nextrec/models/ranking/dcn_v2.py,sha256=wmauPlflWojRHuPtnf8T2x6OT64EYIjbjlm_8RGdNlg,4113
44
+ nextrec/models/ranking/deepfm.py,sha256=thuROmRVp2Ltiz_MJWili63pkdgGYzRkxtLkdyD2OPk,4967
45
+ nextrec/models/ranking/dien.py,sha256=zKrbPpzV4L9VJmcJRbhPahy-8zc-Q2BrU70WidmidCM,12924
46
+ nextrec/models/ranking/din.py,sha256=KoLJcSA6NOTCmV1JZY21q0IeKH4qSkWRH8bGOXB9VC8,7232
47
+ nextrec/models/ranking/fibinet.py,sha256=OgbcUkrQmVpza_e1DZvkvtFeICFmWWNRKjdxi9rQzMs,4961
48
+ nextrec/models/ranking/fm.py,sha256=VRlzSIlMDmhM35eBOKOgQDn8QeG4p6kI6-7uqKtZkE4,2853
49
+ nextrec/models/ranking/masknet.py,sha256=0MWVgNN64isxj4wzUmxj785_L_Wa8rd3st4bPN9Yj7w,12351
50
+ nextrec/models/ranking/pnn.py,sha256=zo2gmrPmD2ZBoqpTCSuKBllnrBUqHna1zjiLcvsnpNY,4831
51
+ nextrec/models/ranking/widedeep.py,sha256=RgVICh03LFIIKkouV0VM3uUcpl3u2x5lBF4JDsGb7X0,4961
52
+ nextrec/models/ranking/xdeepfm.py,sha256=qw3umdKlKjfBxNqG_7d4v3P594YaPxfeMAW3Tyng8uc,5771
53
+ nextrec/utils/__init__.py,sha256=zqU9vjRUpVzJepcvdbxboik68K5jnMR40kdVjr6tpXY,2599
54
+ nextrec/utils/config.py,sha256=Rfh75CNYRgutYvuC9q1enMLhe1XTB18mMpRQDEcWi0I,17724
55
+ nextrec/utils/device.py,sha256=DtgmrJnVJQKtgtVUbm0SW0vZ5Le0R9HU8TsvqPnRLZc,2453
56
+ nextrec/utils/distributed.py,sha256=tIkgUjzEjR_FHOm9ckyM8KddkCfxNSogP-rdHcVGhuk,4782
57
+ nextrec/utils/embedding.py,sha256=YSVnBeve0hVTPSfyxN4weGCK_Jd8SezRBqZgwJAR3Qw,496
58
+ nextrec/utils/feature.py,sha256=LcXaWP98zMZhJTKL92VVHX8mqOE5Q0MyVq3hw5Z9kxs,300
59
+ nextrec/utils/file.py,sha256=pwfp-amY1PW7JlYgJgMJHTT6-7cc_3hRJcLaY5UtPrg,2929
60
+ nextrec/utils/initializer.py,sha256=GzxasKewn4C14ERNdSo9el2jEa8GXXEB2hTQnRcK2IA,2517
61
+ nextrec/utils/model.py,sha256=FB7QbatO0uEvghBEfByJtRS0waaBEB1UI0YzfA_2k04,535
62
+ nextrec/utils/optimizer.py,sha256=eX8baIvWOpwDTGninbyp6pQfzdHbIL62GTi4ldpYcfM,2337
63
+ nextrec/utils/synthetic_data.py,sha256=WSbC5cs7TbuDc57BCO74S7VJdlK0fQmnZA2KM4vUpoI,17566
64
+ nextrec/utils/tensor.py,sha256=Z6MBpSuQpHw4kGjeKxG0cXZMpRBCM45zTKhk9WolyiM,2220
65
+ nextrec-0.4.2.dist-info/METADATA,sha256=VKFbNQN7lnQk5K4qZJXKDL8f5JcWr9gvfgCayBY_918,16753
66
+ nextrec-0.4.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
67
+ nextrec-0.4.2.dist-info/entry_points.txt,sha256=NN-dNSdfMRTv86bNXM7d3ZEPW2BQC6bRi7QP7i9cIps,45
68
+ nextrec-0.4.2.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
69
+ nextrec-0.4.2.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ nextrec = nextrec.cli:main
@@ -1,66 +0,0 @@
1
- nextrec/__init__.py,sha256=nFRpUAjezaxyMJDTgy4g9PtpDTq28sMHleSrlg3QkVA,235
2
- nextrec/__version__.py,sha256=pMtTmSUht-XtbR_7Doz6bsQqopJJd8rZ8I8zy2HwwoA,22
3
- nextrec/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- nextrec/basic/activation.py,sha256=1qs9pq4hT3BUxIiYdYs57axMCm4-JyOBFQ6x7xkHTwM,2849
5
- nextrec/basic/callback.py,sha256=wwh0I2kKYyywCB-sG9eQXShlpXFJIo75qApJmnI5p6c,1036
6
- nextrec/basic/features.py,sha256=DFwYjG13GYHOujS_CMKa7Qrux9faF7MQNoaoRDF_Eks,4263
7
- nextrec/basic/layers.py,sha256=CCicyaZtsDF5R_OzVRjSsmvX_lfEDOEVETq41pbxK20,23749
8
- nextrec/basic/loggers.py,sha256=YLmeXsnzm9M2qxtmBOLMGZRg9wOAUQYl8UNpbWFzs8s,6147
9
- nextrec/basic/metrics.py,sha256=8-hMZJXU5L4F8GnToxMZey5dlBrtFyRtTuI_zoQCtIo,21579
10
- nextrec/basic/model.py,sha256=5MbyYmn1gLV2vy5GQoTxgnOCm2thjWTdquTYwyEeYvk,87093
11
- nextrec/basic/session.py,sha256=kYpUE6KzN2_Jli4l-YuoeMBaghGi3kzDnGRP3E08FbQ,4430
12
- nextrec/data/__init__.py,sha256=OJsuESaE0NZorAkAwydWJtsWsbNBzKfmQCrDJTzA5a0,1227
13
- nextrec/data/batch_utils.py,sha256=6G-E85H-PqYJ20EYVLnC3MqC8xYrXzZ1XYe82MhRPck,2816
14
- nextrec/data/data_processing.py,sha256=P-25xFHU87RqQA7loivN_O1fxtVRTluTQZ2qxgE2Prk,5433
15
- nextrec/data/data_utils.py,sha256=-3xLPW3csOiGNmj0kzzpOkCxZyu09RNBgfPkwX7nDAc,1172
16
- nextrec/data/dataloader.py,sha256=NLmCXyG1NUzrO6TgdwEanjBpzzcE07fjQFjceqHLTgU,16325
17
- nextrec/data/preprocessor.py,sha256=_A3eEc1MpUGDEpno1TToA-dyJ_k707Mr3GilTi_9j5I,40419
18
- nextrec/loss/__init__.py,sha256=mO5t417BneZ8Ysa51GyjDaffjWyjzFgPXIQrrggasaQ,827
19
- nextrec/loss/listwise.py,sha256=gxDbO1td5IeS28jKzdE35o1KAYBRdCYoMzyZzfNLhc0,5689
20
- nextrec/loss/loss_utils.py,sha256=uZ4m9ChLr-UgIc5Yxm1LjwXDDepApQ-Fas8njweZ9qg,2641
21
- nextrec/loss/pairwise.py,sha256=MN_3Pk6Nj8KCkmUqGT5cmyx1_nQa3TIx_kxXT_HB58c,3396
22
- nextrec/loss/pointwise.py,sha256=shgdRJwTV7vAnVxHSffOJU4TPQeKyrwudQ8y-R10nYM,7144
23
- nextrec/models/generative/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- nextrec/models/generative/hstu.py,sha256=Dh1lYgVCIii0NOSJ8CRACi8mLkB3W36I-Nqp2WXlhTE,16427
25
- nextrec/models/generative/tiger.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- nextrec/models/match/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- nextrec/models/match/dssm.py,sha256=iywpz-UwWLCZODpsLelS_nt6i_IpeZ2r8fVAVcXtuwQ,8177
28
- nextrec/models/match/dssm_v2.py,sha256=gGmCIdCLQLWaVoNsCesoBGI74KTzYIch_SXSo-yKRMU,7134
29
- nextrec/models/match/mind.py,sha256=-bwpVz0UaWIopUTOC2784CHwb10xQLrjnnwx79tBXPo,14833
30
- nextrec/models/match/sdm.py,sha256=8YGzHWM1JTaQcHN2Xb9DAiui5WP-JE-NHdrCHXYYgyU,10865
31
- nextrec/models/match/youtube_dnn.py,sha256=QKHnj4a7lgDd8bHDT2OXxt9kXT1ubBf6zkTTEJwY-LY,7491
32
- nextrec/models/multi_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- nextrec/models/multi_task/esmm.py,sha256=VEEklO-PPO9ie5P8F5BEsVapXzWYtLbbcuebisKevgM,6361
34
- nextrec/models/multi_task/mmoe.py,sha256=Uzo5GbOS5bgP3ngRXU-Q-jh0mbP0rk-6PhS-5XU4JRg,7935
35
- nextrec/models/multi_task/ple.py,sha256=eNUuOgd4sOAvqjVh3j6TvwoH4V3fYJPifwisAWdkdqU,12081
36
- nextrec/models/multi_task/poso.py,sha256=tuvmHgA5eUj7yBwlRPTtLUNrV1aDX9LI0PP0ckYlTxk,16782
37
- nextrec/models/multi_task/share_bottom.py,sha256=kZep9Cs1bCbRMNE2hl13IsAWV1orO1126_sOyS3Sqc0,5998
38
- nextrec/models/ranking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- nextrec/models/ranking/afm.py,sha256=smE_0irnTWlG0cXxSPS5qGJldFV57db3iALoIaO9k08,9692
40
- nextrec/models/ranking/autoint.py,sha256=Zu2GF8aRNzPepl2YsUFl8TOrvrWgKQ9-4SAHPai78TQ,8120
41
- nextrec/models/ranking/dcn.py,sha256=q1FAw3O2zN3lSta_4DtUq3RxfxEnS-TWKi25T12X_xY,4899
42
- nextrec/models/ranking/dcn_v2.py,sha256=ivHwLRxi4VcNzh9DWQQ227Gw5dhyRZ5LezuqkAdD89o,3630
43
- nextrec/models/ranking/deepfm.py,sha256=X6b8-rMRWxjCaHwG49DXbNTGSOFOFFACgw85gX4gaxk,5021
44
- nextrec/models/ranking/dien.py,sha256=AkzcNdo5g4vnWWQe6HjwCT6DPAA_m2ONXbNyqdkOgLw,12768
45
- nextrec/models/ranking/din.py,sha256=pW1AjTnLoCr7-pOWiP_65_LObZVw3Zexn_Z4Tyw8bEw,7222
46
- nextrec/models/ranking/fibinet.py,sha256=KqQAEM3bP9HlElPcEASk_O3oC7kc4n1L747-ngZO_xQ,4887
47
- nextrec/models/ranking/fm.py,sha256=DqYFqwfNzjv4oAVpCT3P-e3OvScjZmGsICUWrKTcTac,2987
48
- nextrec/models/ranking/masknet.py,sha256=Zk8PdAD1Lc8KX9GrV-yVgvnqj7Qk1XBbfoFUgy2_9oM,11464
49
- nextrec/models/ranking/pnn.py,sha256=rExX9p17BUS6m_1zjQscN9jb91BRqJaolRwp5MTPA5A,4983
50
- nextrec/models/ranking/widedeep.py,sha256=N5pxP5KKzMZs5HgxnS6gAqlMUcWhnpjjbv1B7f5UYQc,5061
51
- nextrec/models/ranking/xdeepfm.py,sha256=mu2Cd3n7sf7lW9_aHeJpSFnlUkq1IqHWK_K8GZLKtf8,5708
52
- nextrec/utils/__init__.py,sha256=Q1QroXls9Aq320WSJmo8NBzSU8251Y2Ji0UFFExhy6w,2033
53
- nextrec/utils/device.py,sha256=GX_ThOXQD8wYFIEW2NGlTKxAXHdg_zgiOhwweAa84eo,2315
54
- nextrec/utils/distributed.py,sha256=AGmGZ1OV3J7Ld1rQCbQ6hkbo3eXZ9Es64mYMIKDRROw,4513
55
- nextrec/utils/embedding.py,sha256=yxYSdFx0cJITh3Gf-K4SdhwRtKGcI0jOsyBgZ0NLa_c,465
56
- nextrec/utils/feature.py,sha256=s0eMEuvbOsotjll7eSYjb0b-1cXnvVy1mSI1Syg_7n4,299
57
- nextrec/utils/file.py,sha256=wxKvd1_U9ugFDP7EzLNG6-3PBInA0QhxoHzBWKfe_B8,2384
58
- nextrec/utils/initializer.py,sha256=BkP6-vJdsc0A-8ya-AVEs7W24dPXyxIilNnckwXgPEc,1391
59
- nextrec/utils/model.py,sha256=FB7QbatO0uEvghBEfByJtRS0waaBEB1UI0YzfA_2k04,535
60
- nextrec/utils/optimizer.py,sha256=cVkDrEkxwig17UAEhL8p9v3iVNiXI8B067Yf_6LqUp8,2198
61
- nextrec/utils/synthetic_data.py,sha256=JijSkWxZsAClclZ_fmDxo_JG1PEGakM8EN4wkbk6ifY,16383
62
- nextrec/utils/tensor.py,sha256=_RibR6BMPizhzRLVdnJqwUgzA0zpzkZuKfTrdSjbL60,2136
63
- nextrec-0.4.1.dist-info/METADATA,sha256=wcvolWRMdDvMHXmJfwYbJxWqgfNDeRmsIG8vMNxFAF8,16753
64
- nextrec-0.4.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
65
- nextrec-0.4.1.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
66
- nextrec-0.4.1.dist-info/RECORD,,