replay-rec 0.18.0__py3-none-any.whl → 0.18.1__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 (37) hide show
  1. replay/__init__.py +1 -1
  2. replay/data/dataset.py +27 -1
  3. replay/data/dataset_utils/dataset_label_encoder.py +6 -3
  4. replay/data/nn/schema.py +37 -16
  5. replay/data/nn/sequence_tokenizer.py +313 -165
  6. replay/data/nn/torch_sequential_dataset.py +17 -8
  7. replay/data/nn/utils.py +14 -7
  8. replay/data/schema.py +10 -6
  9. replay/metrics/offline_metrics.py +2 -2
  10. replay/models/__init__.py +1 -0
  11. replay/models/base_rec.py +18 -21
  12. replay/models/lin_ucb.py +407 -0
  13. replay/models/nn/sequential/bert4rec/dataset.py +17 -4
  14. replay/models/nn/sequential/bert4rec/lightning.py +121 -54
  15. replay/models/nn/sequential/bert4rec/model.py +21 -0
  16. replay/models/nn/sequential/callbacks/prediction_callbacks.py +5 -1
  17. replay/models/nn/sequential/compiled/__init__.py +5 -0
  18. replay/models/nn/sequential/compiled/base_compiled_model.py +261 -0
  19. replay/models/nn/sequential/compiled/bert4rec_compiled.py +152 -0
  20. replay/models/nn/sequential/compiled/sasrec_compiled.py +145 -0
  21. replay/models/nn/sequential/postprocessors/postprocessors.py +27 -1
  22. replay/models/nn/sequential/sasrec/dataset.py +17 -1
  23. replay/models/nn/sequential/sasrec/lightning.py +126 -50
  24. replay/models/nn/sequential/sasrec/model.py +3 -4
  25. replay/preprocessing/__init__.py +7 -1
  26. replay/preprocessing/discretizer.py +719 -0
  27. replay/preprocessing/label_encoder.py +384 -52
  28. replay/splitters/cold_user_random_splitter.py +1 -1
  29. replay/utils/__init__.py +1 -0
  30. replay/utils/common.py +7 -8
  31. replay/utils/session_handler.py +3 -4
  32. replay/utils/spark_utils.py +15 -1
  33. replay/utils/types.py +8 -0
  34. {replay_rec-0.18.0.dist-info → replay_rec-0.18.1.dist-info}/METADATA +73 -60
  35. {replay_rec-0.18.0.dist-info → replay_rec-0.18.1.dist-info}/RECORD +37 -31
  36. {replay_rec-0.18.0.dist-info → replay_rec-0.18.1.dist-info}/LICENSE +0 -0
  37. {replay_rec-0.18.0.dist-info → replay_rec-0.18.1.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: replay-rec
3
- Version: 0.18.0
3
+ Version: 0.18.1
4
4
  Summary: RecSys Library
5
5
  Home-page: https://sb-ai-lab.github.io/RePlay/
6
6
  License: Apache-2.0
@@ -21,10 +21,13 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
21
  Provides-Extra: all
22
22
  Provides-Extra: spark
23
23
  Provides-Extra: torch
24
+ Provides-Extra: torch-openvino
24
25
  Requires-Dist: fixed-install-nmslib (==2.1.2)
25
26
  Requires-Dist: hnswlib (>=0.7.0,<0.8.0)
26
- Requires-Dist: lightning (>=2.0.2,<=2.4.0) ; extra == "torch" or extra == "all"
27
+ Requires-Dist: lightning (>=2.0.2,<=2.4.0) ; extra == "torch" or extra == "torch-openvino" or extra == "all"
27
28
  Requires-Dist: numpy (>=1.20.0)
29
+ Requires-Dist: onnx (>=1.16.2,<1.17.0) ; extra == "torch-openvino" or extra == "all"
30
+ Requires-Dist: openvino (>=2024.3.0,<2024.4.0) ; extra == "torch-openvino" or extra == "all"
28
31
  Requires-Dist: optuna (>=3.2.0,<3.3.0)
29
32
  Requires-Dist: pandas (>=1.3.5,<=2.2.2)
30
33
  Requires-Dist: polars (>=1.0.0,<1.1.0)
@@ -32,10 +35,10 @@ Requires-Dist: psutil (>=6.0.0,<6.1.0)
32
35
  Requires-Dist: pyarrow (>=12.0.1)
33
36
  Requires-Dist: pyspark (>=3.0,<3.6) ; (python_full_version >= "3.8.1" and python_version < "3.11") and (extra == "spark" or extra == "all")
34
37
  Requires-Dist: pyspark (>=3.4,<3.6) ; (python_version >= "3.11" and python_version < "3.12") and (extra == "spark" or extra == "all")
35
- Requires-Dist: pytorch-ranger (>=0.1.1,<0.2.0) ; extra == "torch" or extra == "all"
38
+ Requires-Dist: pytorch-ranger (>=0.1.1,<0.2.0) ; extra == "torch" or extra == "torch-openvino" or extra == "all"
36
39
  Requires-Dist: scikit-learn (>=1.0.2,<2.0.0)
37
40
  Requires-Dist: scipy (>=1.8.1,<2.0.0)
38
- Requires-Dist: torch (>=1.8,<=2.4.0) ; extra == "torch" or extra == "all"
41
+ Requires-Dist: torch (>=1.8,<=2.5.0) ; extra == "torch" or extra == "torch-openvino" or extra == "all"
39
42
  Project-URL: Repository, https://github.com/sb-ai-lab/RePlay
40
43
  Description-Content-Type: text/markdown
41
44
 
@@ -44,11 +47,15 @@ Description-Content-Type: text/markdown
44
47
 
45
48
  [![GitHub License](https://img.shields.io/github/license/sb-ai-lab/RePlay)](https://github.com/sb-ai-lab/RePlay/blob/main/LICENSE)
46
49
  [![PyPI - Version](https://img.shields.io/pypi/v/replay-rec)](https://pypi.org/project/replay-rec)
50
+ [![Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://sb-ai-lab.github.io/RePlay/)
47
51
  [![PyPI - Downloads](https://img.shields.io/pypi/dm/replay-rec)](https://pypistats.org/packages/replay-rec)
48
52
  <br>
49
53
  [![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/sb-ai-lab/replay/main.yml)](https://github.com/sb-ai-lab/RePlay/actions/workflows/main.yml?query=branch%3Amain)
54
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
55
+ [![Python Versions](https://img.shields.io/pypi/pyversions/replay-rec.svg?logo=python&logoColor=white)](https://pypi.org/project/replay-rec)
50
56
  [![Join the community on GitHub Discussions](https://badgen.net/badge/join%20the%20discussion/on%20github/black?icon=github)](https://github.com/sb-ai-lab/RePlay/discussions)
51
57
 
58
+
52
59
  RePlay is an advanced framework designed to facilitate the development and evaluation of recommendation systems. It provides a robust set of tools covering the entire lifecycle of a recommendation system pipeline:
53
60
 
54
61
  ## 🚀 Features:
@@ -63,61 +70,25 @@ RePlay is an advanced framework designed to facilitate the development and evalu
63
70
  1. **Diverse Hardware Support:** Compatible with various hardware configurations including CPU, GPU, Multi-GPU.
64
71
  2. **Cluster Computing Integration:** Integrating with PySpark for distributed computing, enabling scalability for large-scale recommendation systems.
65
72
 
66
- ## 📖 Documentation is available [here](https://sb-ai-lab.github.io/RePlay/).
67
-
68
73
  <a name="toc"></a>
69
74
  # Table of Contents
70
75
 
71
- * [Installation](#installation)
72
76
  * [Quickstart](#quickstart)
77
+ * [Installation](#installation)
73
78
  * [Resources](#examples)
74
79
  * [Contributing to RePlay](#contributing)
75
80
 
76
81
 
77
- <a name="installation"></a>
78
- ## 🔧 Installation
79
-
80
- Installation via `pip` package manager is recommended by default:
81
-
82
- ```bash
83
- pip install replay-rec
84
- ```
85
-
86
- In this case it will be installed the `core` package without `PySpark` and `PyTorch` dependencies.
87
- Also `experimental` submodule will not be installed.
88
-
89
- To install `experimental` submodule please specify the version with `rc0` suffix.
90
- For example:
91
-
92
- ```bash
93
- pip install replay-rec==XX.YY.ZZrc0
94
- ```
95
-
96
- ### Extras
97
-
98
- In addition to the core package, several extras are also provided, including:
99
- - `[spark]`: Install PySpark functionality
100
- - `[torch]`: Install PyTorch and Lightning functionality
101
- - `[all]`: `[spark]` `[torch]`
82
+ <a name="quickstart"></a>
83
+ ## 📈 Quickstart
102
84
 
103
- Example:
104
85
  ```bash
105
- # Install core package with PySpark dependency
106
- pip install replay-rec[spark]
107
-
108
- # Install package with experimental submodule and PySpark dependency
109
- pip install replay-rec[spark]==XX.YY.ZZrc0
86
+ pip install replay-rec[all]
110
87
  ```
111
88
 
112
- To build RePlay from sources please use the [instruction](CONTRIBUTING.md#installing-from-the-source).
113
-
114
- If you encounter an error during RePlay installation, check the [troubleshooting](https://sb-ai-lab.github.io/RePlay/pages/installation.html#troubleshooting) guide.
115
-
116
-
117
- <a name="quickstart"></a>
118
- ## 📈 Quickstart (PySpark-based)
119
-
89
+ Pyspark-based model and [fast](https://github.com/sb-ai-lab/RePlay/blob/main/examples/11_sasrec_dataframes_comparison.ipynb) polars-based data preprocessing:
120
90
  ```python
91
+ from polars import from_pandas
121
92
  from rs_datasets import MovieLens
122
93
 
123
94
  from replay.data import Dataset, FeatureHint, FeatureInfo, FeatureSchema, FeatureType
@@ -131,10 +102,10 @@ from replay.splitters import RatioSplitter
131
102
  spark = State().session
132
103
 
133
104
  ml_1m = MovieLens("1m")
134
- K=10
105
+ K = 10
135
106
 
136
- # data preprocessing
137
- interactions = convert2spark(ml_1m.ratings)
107
+ # convert data to polars
108
+ interactions = from_pandas(ml_1m.ratings)
138
109
 
139
110
  # data splitting
140
111
  splitter = RatioSplitter(
@@ -148,7 +119,7 @@ splitter = RatioSplitter(
148
119
  )
149
120
  train, test = splitter.split(interactions)
150
121
 
151
- # dataset creating
122
+ # datasets creation
152
123
  feature_schema = FeatureSchema(
153
124
  [
154
125
  FeatureInfo(
@@ -174,20 +145,18 @@ feature_schema = FeatureSchema(
174
145
  ]
175
146
  )
176
147
 
177
- train_dataset = Dataset(
178
- feature_schema=feature_schema,
179
- interactions=train,
180
- )
181
- test_dataset = Dataset(
182
- feature_schema=feature_schema,
183
- interactions=test,
184
- )
148
+ train_dataset = Dataset(feature_schema=feature_schema, interactions=train)
149
+ test_dataset = Dataset(feature_schema=feature_schema, interactions=test)
185
150
 
186
151
  # data encoding
187
152
  encoder = DatasetLabelEncoder()
188
153
  train_dataset = encoder.fit_transform(train_dataset)
189
154
  test_dataset = encoder.transform(test_dataset)
190
155
 
156
+ # convert datasets to spark
157
+ train_dataset.to_spark()
158
+ test_dataset.to_spark()
159
+
191
160
  # model training
192
161
  model = ItemKNN()
193
162
  model.fit(train_dataset)
@@ -214,6 +183,44 @@ metrics.add_result("ItemKNN", recs)
214
183
  print(metrics.results)
215
184
  ```
216
185
 
186
+ <a name="installation"></a>
187
+ ## 🔧 Installation
188
+
189
+ Installation via `pip` package manager is recommended by default:
190
+
191
+ ```bash
192
+ pip install replay-rec
193
+ ```
194
+
195
+ In this case it will be installed the `core` package without `PySpark` and `PyTorch` dependencies.
196
+ Also `experimental` submodule will not be installed.
197
+
198
+ To install `experimental` submodule please specify the version with `rc0` suffix.
199
+ For example:
200
+
201
+ ```bash
202
+ pip install replay-rec==XX.YY.ZZrc0
203
+ ```
204
+
205
+ ### Extras
206
+
207
+ In addition to the core package, several extras are also provided, including:
208
+ - `[spark]`: Install PySpark functionality
209
+ - `[torch]`: Install PyTorch and Lightning functionality
210
+ - `[all]`: `[spark]` `[torch]`
211
+
212
+ Example:
213
+ ```bash
214
+ # Install core package with PySpark dependency
215
+ pip install replay-rec[spark]
216
+
217
+ # Install package with experimental submodule and PySpark dependency
218
+ pip install replay-rec[spark]==XX.YY.ZZrc0
219
+ ```
220
+
221
+ To build RePlay from sources please use the [instruction](CONTRIBUTING.md#installing-from-the-source).
222
+
223
+
217
224
  <a name="examples"></a>
218
225
  ## 📑 Resources
219
226
 
@@ -226,14 +233,19 @@ print(metrics.results)
226
233
  6. [06_item2item_recommendations.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/06_item2item_recommendations.ipynb) - Item to Item recommendations example.
227
234
  7. [07_filters.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/07_filters.ipynb) - An example of using filters.
228
235
  8. [08_recommending_for_categories.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/08_recommending_for_categories.ipynb) - An example of recommendation for product categories.
229
- 9. [09_sasrec_example.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/09_sasrec_example.ipynb) - An example of using transformers to generate recommendations.
230
-
236
+ 9. [09_sasrec_example.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/09_sasrec_example.ipynb) - An example of using transformer-based SASRec model to generate recommendations.
237
+ 10. [10_bert4rec_example.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/10_bert4rec_example.ipynb) - An example of using transformer-based BERT4Rec model to generate recommendations.
238
+ 11. [11_sasrec_dataframes_comparison.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/11_sasrec_dataframes_comparison.ipynb) - speed comparison of using different frameworks (pandas, polars, pyspark) for data processing during SASRec training.
239
+ 12. [12_neural_ts_exp.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/12_neural_ts_exp.ipynb) - An example of using Neural Thompson Sampling bandit model (based on Wide&Deep architecture).
240
+ 13. [13_personalized_bandit_comparison.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/13_personalized_bandit_comparison.ipynb) - A comparison of context-free and contextual bandit models.
241
+ 14. [14_hierarchical_recommender.ipynb](https://github.com/sb-ai-lab/RePlay/blob/main/examples/14_hierarchical_recommender.ipynb) - An example of using HierarchicalRecommender with user-disjoint LinUCB.
231
242
 
232
243
  ### Videos and papers
233
244
  * **Video guides**:
234
245
  - [Replay for offline recommendations, AI Journey 2021](https://www.youtube.com/watch?v=ejQZKGAG0xs)
235
246
 
236
247
  * **Research papers**:
248
+ - [RePlay: a Recommendation Framework for Experimentation and Production Use](https://arxiv.org/abs/2409.07272) Alexey Vasilev, Anna Volodkevich, Denis Kulandin, Tatiana Bysheva, Anton Klenitskiy. In The 18th ACM Conference on Recommender Systems (RecSys '24)
237
249
  - [Turning Dross Into Gold Loss: is BERT4Rec really better than SASRec?](https://doi.org/10.1145/3604915.3610644) Anton Klenitskiy, Alexey Vasilev. In The 17th ACM Conference on Recommender Systems (RecSys '23)
238
250
  - [The Long Tail of Context: Does it Exist and Matter?](https://arxiv.org/abs/2210.01023). Konstantin Bauman, Alexey Vasilev, Alexander Tuzhilin. In Workshop on Context-Aware Recommender Systems (CARS) (RecSys '22)
239
251
  - [Multiobjective Evaluation of Reinforcement Learning Based Recommender Systems](https://doi.org/10.1145/3523227.3551485). Alexey Grishanov, Anastasia Ianina, Konstantin Vorontsov. In The 16th ACM Conference on Recommender Systems (RecSys '22)
@@ -244,3 +256,4 @@ print(metrics.results)
244
256
 
245
257
  We welcome community contributions. For details please check our [contributing guidelines](CONTRIBUTING.md).
246
258
 
259
+
@@ -1,15 +1,15 @@
1
- replay/__init__.py,sha256=CfUvW1hW04UHwi_dUOzcLqfgex6e2fWHaHTCl30i8LQ,47
1
+ replay/__init__.py,sha256=bUiRKn-S03-cehL8vuZSEyOYJm1qe0oWB38RrjRDIJ4,47
2
2
  replay/data/__init__.py,sha256=g5bKRyF76QL_BqlED-31RnS8pBdcyj9loMsx5vAG_0E,301
3
- replay/data/dataset.py,sha256=FnvsFeIcCMlq94_NDQRY3-jgpVvKN-4FdivABWVr8Pk,29481
3
+ replay/data/dataset.py,sha256=wIIezbAWP7yzYAHei0gD0z45Uk6quaWRKsQo2pcjj8A,30749
4
4
  replay/data/dataset_utils/__init__.py,sha256=9wUvG8ZwGUvuzLU4zQI5FDcH0WVVo5YLN2ey3DterP0,55
5
- replay/data/dataset_utils/dataset_label_encoder.py,sha256=o8p7XvQewKuqYY8anrUhuY8gTau1FbpPjnNSAwbDZTY,9599
5
+ replay/data/dataset_utils/dataset_label_encoder.py,sha256=6Pd6LYXLL_9xwvV5hbJvL88Um-KSIeVeYTa3RopuHP0,9807
6
6
  replay/data/nn/__init__.py,sha256=WxLsi4rgOuuvGYHN49xBPxP2Srhqf3NYgfBDVH-ZvBo,1122
7
- replay/data/nn/schema.py,sha256=N6lBWC1Q_kX1s6oVdOaxxAYE2pWqwbkDK7LmLL8N1Ts,16208
8
- replay/data/nn/sequence_tokenizer.py,sha256=Ambrp3CMOp3JP68PiwmVh0m-_zNXiWzxxVreHkEwOyY,32592
7
+ replay/data/nn/schema.py,sha256=Am_6HdQIQdXtJcQ7HjJdZr623f2ugf6WCnOtNYmgHys,16988
8
+ replay/data/nn/sequence_tokenizer.py,sha256=0IBPkVwxgimLmuSGqQheVyy9dbo5kDvNutoRBRCipEA,37051
9
9
  replay/data/nn/sequential_dataset.py,sha256=jCWxC0Pm1eQ5p8Y6_Bmg4fSEvPaecLrqz1iaWzaICdI,11014
10
- replay/data/nn/torch_sequential_dataset.py,sha256=BqrK_PtkhpsaY1zRIWGk4EgwPL31a7IWCc0hLDuwDQc,10984
11
- replay/data/nn/utils.py,sha256=YKE9gkIHZDDiwv4THqOWL4PzsdOujnPuM97v79Mwq0E,2769
12
- replay/data/schema.py,sha256=F_cv6sYb6l23yuX5xWnbqoJ9oSeUT2NpIM19u8Lf2jA,15606
10
+ replay/data/nn/torch_sequential_dataset.py,sha256=NCNYLuhiRJj7x0_E6Z2UkF0h2YdumbWzJSG6GCb3muA,11501
11
+ replay/data/nn/utils.py,sha256=fQiEZyc0YuCSDi9Rfp9KRtXGjedH1Lc_4QWd3-rTFjs,3272
12
+ replay/data/schema.py,sha256=iQormeeiLbbxyADdV6Dv_KENe-tIaRiqlhixkQlC2aw,15952
13
13
  replay/data/spark_schema.py,sha256=4o0Kn_fjwz2-9dBY3q46F9PL0F3E7jdVpIlX7SG3OZI,1111
14
14
  replay/metrics/__init__.py,sha256=j0PGvUehaPEZMNo9SQwJsnvzrS4bam9eHrRMQFLnMjY,2813
15
15
  replay/metrics/base_metric.py,sha256=uleW5vLrdA3iRx72tFyW0cxe6ne_ugQ1XaY_ZTcnAOo,15960
@@ -22,18 +22,18 @@ replay/metrics/map.py,sha256=qUPFkyrvRf7gEyxosBApHOxpAVZJ3Yksqe4vsbzTukE,2597
22
22
  replay/metrics/mrr.py,sha256=AkfRdvL21Ri1zE4Cmib2twJaEaeBO5wze87eZ4lkYlc,2188
23
23
  replay/metrics/ndcg.py,sha256=wzdFFf9rmG6yH7klK5V9ab1wNdI6CHXezvYasxO9_ZU,3134
24
24
  replay/metrics/novelty.py,sha256=4S6PsdOl8lqweBlemWJh2fVqMiN8jfj3cIU-9TxZXLY,5500
25
- replay/metrics/offline_metrics.py,sha256=bVI47C-oTxyi-ksTEdTckX3fT_Dz7koi0ICTgUmsnRM,20468
25
+ replay/metrics/offline_metrics.py,sha256=LWofpuzvqc92jSnmMWvW-ffTGEgHxAgZO_yuSSVY1gs,20473
26
26
  replay/metrics/precision.py,sha256=8hfz9bLZt7wUfyJtJPiIoDEOP_bweZSpCS6Z1Cm9IGE,2281
27
27
  replay/metrics/recall.py,sha256=ATN5OIeFKMG7-nqpPCBPLItrUhGRucLCELWnzRyCRoo,2472
28
28
  replay/metrics/rocauc.py,sha256=gybFcyIyVDpwoR9K38nOSxlAjIYbFqXUzABuckxqHps,3307
29
29
  replay/metrics/surprisal.py,sha256=wj9Q5mAdECpl0LfykJWt8jgN3_CUSlai2fhiFgJr_Vw,7474
30
30
  replay/metrics/torch_metrics_builder.py,sha256=2gcCcb0A-TVpYcBIYGhXrggyFX-M_T7Q1pQUiMpxEZE,13845
31
31
  replay/metrics/unexpectedness.py,sha256=cfDnkpK6nPeawwHDVNQAkUtsW0SvAttI84k4M5ttkyo,6888
32
- replay/models/__init__.py,sha256=_4gNsauyrVMYEoFDihPYY9kGuBGGFyy1krvxF7oEYjk,808
32
+ replay/models/__init__.py,sha256=A1xEE3CbCrhCPkh94U_yYs9jzoP8IEyPukKj7DyY7bs,836
33
33
  replay/models/als.py,sha256=eGiMok_zu5ZUKXU9i9feCP4RGMqSnlIGHjks6MqKzHw,6227
34
34
  replay/models/association_rules.py,sha256=cp4myXvMqro6zLMjJzJMb0DZ5DQFQEZvhqf5OBgBw8Y,14659
35
35
  replay/models/base_neighbour_rec.py,sha256=zMORSm4uMQSNj12v0n_6w8fVHgSYjeiqyYE9rrWgSfU,7887
36
- replay/models/base_rec.py,sha256=NFz_xcarDwhaB3fSa-5uLBa6tyATOwOQLD_yR445m5U,66372
36
+ replay/models/base_rec.py,sha256=W28_8w5QpeNVluSjKI0mKeDljvyac3_-kqDCNidCf1U,66229
37
37
  replay/models/cat_pop_rec.py,sha256=tzI1UMlC3kEOrtDZ1UPpCP13tX8CeDJP7PHwQKl9Mmo,11922
38
38
  replay/models/cluster.py,sha256=9JcpGnbfgFa4UsyxPAa4WMuJFa3rsuAxiKoy-s_UfyE,4970
39
39
  replay/models/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -66,24 +66,29 @@ replay/models/extensions/ann/index_stores/utils.py,sha256=6r2GP_EFCaCguolW857pb4
66
66
  replay/models/extensions/ann/utils.py,sha256=qLeT0wHzbzBU5J6SE3xbbT3vYrLrFcEEQNJCtElvP_U,1213
67
67
  replay/models/kl_ucb.py,sha256=L6vC2KsTBTTx4ckmGhWybOiLa5Wt54N7cgl7jS2FQRg,6731
68
68
  replay/models/knn.py,sha256=ujJRiRJ9Nfs_m7eTvk0fDTYiR95aKnDO4e2Tf2q2AQI,9109
69
+ replay/models/lin_ucb.py,sha256=z25J_7rIm-M5l3jxkf8v9QT9kPhzX3i0fg1TxyH95is,16934
69
70
  replay/models/nn/__init__.py,sha256=AT3o1qXaxUq4_QIGlcGuSs54ZpueOo-SbpZwuGI-6os,41
70
71
  replay/models/nn/optimizer_utils/__init__.py,sha256=8MHln7CW54oACVUFKdZLjAf4bY83GcOMXpmL87gTnhI,178
71
72
  replay/models/nn/optimizer_utils/optimizer_factory.py,sha256=EXqS_2ZxT7K_kFzcjgFpNhmzUoSftf_CwZIIHNHZBgU,2842
72
73
  replay/models/nn/sequential/__init__.py,sha256=CI2n0cxs_amqJrwBMq6n0Z_uBOu7CGXfagqvE4Jlmjw,128
73
74
  replay/models/nn/sequential/bert4rec/__init__.py,sha256=JfZqHOGxcvOkICl5cWmZbZhaKXpkIvua-Wj57VWWEhw,399
74
- replay/models/nn/sequential/bert4rec/dataset.py,sha256=sCnYGF-sQ1YlLq7vofQo2GIIlc59YlbUgmW7bHI6MPg,10324
75
- replay/models/nn/sequential/bert4rec/lightning.py,sha256=TqO0V-g0JA0D-L2t08AgAIQgBkDtLUgl4xqekSiDWJ4,22605
76
- replay/models/nn/sequential/bert4rec/model.py,sha256=lZJwJbWPjrcvQCpD2LULMva-nXaTL8PgZHkZ-8z9okU,17758
75
+ replay/models/nn/sequential/bert4rec/dataset.py,sha256=cJp1fol4FiGSRhyy7RaBh7plMVEFteJ1pCbbGBZyZHI,11014
76
+ replay/models/nn/sequential/bert4rec/lightning.py,sha256=MXozQMLwlcKhwmqJMaU2G6WUNQ7Ljs2kts4sDid3Twk,25242
77
+ replay/models/nn/sequential/bert4rec/model.py,sha256=w1mCUd1Rjn-J0BISdeykzn5RfPNCGZDhVk_9WyBaObc,18581
77
78
  replay/models/nn/sequential/callbacks/__init__.py,sha256=Q7mSZ_RB6iyD7QZaBL_NJ0uh8cRfgxq7gtPHbkSyhoo,282
78
- replay/models/nn/sequential/callbacks/prediction_callbacks.py,sha256=H4MZ87_N0hCKtHbsTuN-Cq_SJ-n9TSkvv2okuGnwo3M,9045
79
+ replay/models/nn/sequential/callbacks/prediction_callbacks.py,sha256=iCPO1G09X-22CTrMVx5HYVxrzT1xmtb-6qGczkbYQ58,9317
79
80
  replay/models/nn/sequential/callbacks/validation_callback.py,sha256=6TNl3NN9oahK1J7DT44461xqBuUCblCsLzUi2svlhF4,5825
81
+ replay/models/nn/sequential/compiled/__init__.py,sha256=1UrFY_w-rTuQhMokVra5Bl8YYfSVGMuUIycMMeJYGfM,168
82
+ replay/models/nn/sequential/compiled/base_compiled_model.py,sha256=rPQYztpcskHo-jaGlKJukJ7KfI6XvRUnBJuwj5ahxFU,10235
83
+ replay/models/nn/sequential/compiled/bert4rec_compiled.py,sha256=PArIF1l-xVUNhJ55MUGF6srpFdhmZ1Hl33hKwdhefd0,6258
84
+ replay/models/nn/sequential/compiled/sasrec_compiled.py,sha256=Xe3znMMtBVWvZViPwhm94Cd17FKHxsgt9MWLuzXvs_4,5793
80
85
  replay/models/nn/sequential/postprocessors/__init__.py,sha256=89LGzkNHukcuC2-rfpiz7vmv1zyk6MNY-8zaXrvtn0M,164
81
86
  replay/models/nn/sequential/postprocessors/_base.py,sha256=Z-HuXM4WBQtrq9IeCL00jtdb_UopksInxVVK8lxD_hA,1136
82
- replay/models/nn/sequential/postprocessors/postprocessors.py,sha256=V32xMyNPztJ5kapUxYSAz9i_vsqJ6_cjpGblmQGPO6A,6781
87
+ replay/models/nn/sequential/postprocessors/postprocessors.py,sha256=t96EkNVaG560m5BA5FejJKudpUMcfZWc4KrOD12GME4,7820
83
88
  replay/models/nn/sequential/sasrec/__init__.py,sha256=c6130lRpPkcbuGgkM7slagBIgH7Uk5zUtSzFDEwAsik,250
84
- replay/models/nn/sequential/sasrec/dataset.py,sha256=ReGNc6t9jjXxMZJp0WqFj1jatJFHnWOrkK3W8lwBNIs,7036
85
- replay/models/nn/sequential/sasrec/lightning.py,sha256=DtLnNikTNvqroCzaVFw7u-QZpZdvwiYbCwJLE7FkHms,21397
86
- replay/models/nn/sequential/sasrec/model.py,sha256=EBAfDP3WHZC-Pyb8dm0mr3gpxhrCOFQDHbZ2itFPWmk,27780
89
+ replay/models/nn/sequential/sasrec/dataset.py,sha256=dbuhoU5mCf2MS01QpTd7ud5dFEqQE24jurwgfC3t3aE,7782
90
+ replay/models/nn/sequential/sasrec/lightning.py,sha256=i-R1PMr5MCr6Z7yJ4YAL2jE4JTzo7LvowhOx-KHtqhE,23869
91
+ replay/models/nn/sequential/sasrec/model.py,sha256=MRZvymU8aBIH5Q_D9BP4PvkGIBpBhF1_mzSgwvdpYxI,27684
87
92
  replay/models/pop_rec.py,sha256=Ju9y2rU2vW_jFU9-W15fbbr5_ZzYGihSjSxsqKsAf0Q,4964
88
93
  replay/models/query_pop_rec.py,sha256=UNsHtf3eQpJom73ZmEO5us4guI4SnCLJYTfuUpRgqes,4086
89
94
  replay/models/random_rec.py,sha256=9SC012_X3sNzrAjDG1CPGhjisZb6gnv4VCW7yIMSNpk,8066
@@ -94,17 +99,18 @@ replay/models/wilson.py,sha256=o7aUWjq3648dAfgGBoWD5Gu-HzdyobPMaH2lzCLijiA,4558
94
99
  replay/models/word2vec.py,sha256=MgoRIS5vqW9cH1HKAGa2xsLLnTH6XC1EXk4Dzvn5lXA,9171
95
100
  replay/optimization/__init__.py,sha256=az6U10rF7X6rPRUUPwLyiM1WFNJ_6kl0imA5xLVWFLs,120
96
101
  replay/optimization/optuna_objective.py,sha256=OUYlC3wQj4GmrSbE_z5IPPS6OEEPUoeRCWFJnIR1Na8,7654
97
- replay/preprocessing/__init__.py,sha256=TtBysFqYeDy4kZAEnWEaNSwPvbffYdfMkEs71YG51fM,411
102
+ replay/preprocessing/__init__.py,sha256=c6wFPAc6lATyp0lE-ZDjHMsXyEMPKX7Usuqylv6H5XQ,597
98
103
  replay/preprocessing/converter.py,sha256=JQ-4u5x0eXtswl1iH-bZITBXQov1nebnZ6XcvpD8Twk,4417
104
+ replay/preprocessing/discretizer.py,sha256=Z3xnJpAQeXOU49PVpRSVXXbDemlAHEWWwFSNX_VirHA,27047
99
105
  replay/preprocessing/filters.py,sha256=4Lk3gnNwksPscdW6a47qJ_r8QEpbYRuNqTPJ9-bvSRo,41743
100
106
  replay/preprocessing/history_based_fp.py,sha256=Wb2DXHawE2dYghm1ARr05_5opd_TLfthZ7h5e0zbDjY,18726
101
- replay/preprocessing/label_encoder.py,sha256=JrVNP93NVt630OFmacQ6MlkH7rTLIPog05-0vyBuQtQ,27041
107
+ replay/preprocessing/label_encoder.py,sha256=9gENffKdaoLBlgz5NXmxNDck-ofvhSUgi70f0Np6ls4,41207
102
108
  replay/preprocessing/sessionizer.py,sha256=G6i0K3FwqtweRxvcSYraJ-tBWAT2HnV-bWHHlIZJF-s,12217
103
109
  replay/scenarios/__init__.py,sha256=XXAKEQPTLlve-0O6NPwFgahFrb4oGcIq3HaYaaGxG2E,94
104
110
  replay/scenarios/fallback.py,sha256=EeBmIR-5igzKR2m55bQRFyhxTkpJez6ZkCW449n8hWs,7130
105
111
  replay/splitters/__init__.py,sha256=DnqVMelrzLwR8fGQgcWN_8FipGs8T4XGSPOMW-L_x2g,454
106
112
  replay/splitters/base_splitter.py,sha256=hj9_GYDWllzv3XnxN6WHu1JKRRVjXo77vZEOLbF9v-s,7761
107
- replay/splitters/cold_user_random_splitter.py,sha256=gVwBVdn_0IOaLGT_UzJoS9AMaPhelZy-FpC5JQS1PhA,4136
113
+ replay/splitters/cold_user_random_splitter.py,sha256=ruiMtgpzpsJqZ7oE0oLH-exqcFhRXAUc-y6cE1GqjoE,4155
108
114
  replay/splitters/k_folds.py,sha256=WH02_DP18A2ae893ysonmfLPB56_i1ETllTAwaCYekg,6218
109
115
  replay/splitters/last_n_splitter.py,sha256=ITq8yzd7PrbAi3yp5XJlBehq0E0boiPyTEn72sXZEOA,15347
110
116
  replay/splitters/new_users_splitter.py,sha256=bv_QCPkL7KFxJIovAXQbP3Rlty3My48YNTqrj-2ucFQ,9167
@@ -112,16 +118,16 @@ replay/splitters/random_splitter.py,sha256=mbOcxeF0B9WQ9OSxK8CHkPtO8UzKCZJt3rRyF
112
118
  replay/splitters/ratio_splitter.py,sha256=8zvuCn16Icc4ntQPKXJ5ArAWuJzCZ9NHZtgWctKyBVY,17519
113
119
  replay/splitters/time_splitter.py,sha256=tsoK3Qg_pcYHDxBlv2xC8ohAikoIqac3fRGBvCb-QRo,9026
114
120
  replay/splitters/two_stage_splitter.py,sha256=U90l1wfJnMAAW1j4YpJSd8zWvWB-LDUKFCifnanXraU,17830
115
- replay/utils/__init__.py,sha256=vDJgOWq81fbBs-QO4ZDpdqR4KDyO1kMOOxBRi-5Gp7E,253
116
- replay/utils/common.py,sha256=s4Pro3QCkPeVBsj-s0vrbhd_pkJD-_-2M_sIguxGzQQ,5411
121
+ replay/utils/__init__.py,sha256=NglSepjA-vlwDH2uiIXRQ8EnJLuEQkiOufYlm9yjNiU,277
122
+ replay/utils/common.py,sha256=HI8f42W4pVYjqkjDNv4yjErjXiLWs_exWNcTPPwMyqA,5361
117
123
  replay/utils/dataframe_bucketizer.py,sha256=LipmBBQkdkLGroZpbP9i7qvTombLdMxo2dUUys1m5OY,3748
118
124
  replay/utils/distributions.py,sha256=UuhaC9HI6HnUXW97fEd-TsyDk4JT8t7k1T_6l5FpOMs,1203
119
125
  replay/utils/model_handler.py,sha256=V-mHDh8_UexjVSsMBBRA9yrjS_5MPHwYOwv_UrI-Zfs,6466
120
- replay/utils/session_handler.py,sha256=RYzQvvOnukundccEBnH4ghEdyUgiGB9etz5e3Elvfgw,5157
121
- replay/utils/spark_utils.py,sha256=LBzS8PJc6Mq8q7S_f6BbQZkeOEW49briAdp--pwFWbs,26891
126
+ replay/utils/session_handler.py,sha256=BACedTDu-K1ANCB88M8JEBgJ318Hxv-yxaPUNNJKZ9U,5152
127
+ replay/utils/spark_utils.py,sha256=lxzaQGxp3PZdcW-mrj1402x0U8AUQkKimZpWlwhKcJQ,27405
122
128
  replay/utils/time.py,sha256=J8asoQBytPcNw-BLGADYIsKeWhIoN1H5hKiX9t2AMqo,9376
123
- replay/utils/types.py,sha256=5sw0A7NG4ZgQKdWORnBy0wBZ5F98sP_Ju8SKQ6zbDS4,651
124
- replay_rec-0.18.0.dist-info/LICENSE,sha256=rPmcA7UrHxBChEAAlJyE24qUWKKl9yLQXxFsKeg_LX4,11344
125
- replay_rec-0.18.0.dist-info/METADATA,sha256=GqTiw9bPlIkXG9mwL0a_2V8EuPsImj9oZzvonqiR0Ug,10863
126
- replay_rec-0.18.0.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
127
- replay_rec-0.18.0.dist-info/RECORD,,
129
+ replay/utils/types.py,sha256=RHGkY71JkGUAMCWbHNgB11Z1F64Lqj0xxRr4Z07qxsY,814
130
+ replay_rec-0.18.1.dist-info/LICENSE,sha256=rPmcA7UrHxBChEAAlJyE24qUWKKl9yLQXxFsKeg_LX4,11344
131
+ replay_rec-0.18.1.dist-info/METADATA,sha256=t_nhjOCrATIoP65w0MD4epsL7sMp6f50hgE0XSAE9UU,12950
132
+ replay_rec-0.18.1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
133
+ replay_rec-0.18.1.dist-info/RECORD,,