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.
- replay/__init__.py +1 -1
- replay/data/dataset.py +27 -1
- replay/data/dataset_utils/dataset_label_encoder.py +6 -3
- replay/data/nn/schema.py +37 -16
- replay/data/nn/sequence_tokenizer.py +313 -165
- replay/data/nn/torch_sequential_dataset.py +17 -8
- replay/data/nn/utils.py +14 -7
- replay/data/schema.py +10 -6
- replay/metrics/offline_metrics.py +2 -2
- replay/models/__init__.py +1 -0
- replay/models/base_rec.py +18 -21
- replay/models/lin_ucb.py +407 -0
- replay/models/nn/sequential/bert4rec/dataset.py +17 -4
- replay/models/nn/sequential/bert4rec/lightning.py +121 -54
- replay/models/nn/sequential/bert4rec/model.py +21 -0
- replay/models/nn/sequential/callbacks/prediction_callbacks.py +5 -1
- replay/models/nn/sequential/compiled/__init__.py +5 -0
- replay/models/nn/sequential/compiled/base_compiled_model.py +261 -0
- replay/models/nn/sequential/compiled/bert4rec_compiled.py +152 -0
- replay/models/nn/sequential/compiled/sasrec_compiled.py +145 -0
- replay/models/nn/sequential/postprocessors/postprocessors.py +27 -1
- replay/models/nn/sequential/sasrec/dataset.py +17 -1
- replay/models/nn/sequential/sasrec/lightning.py +126 -50
- replay/models/nn/sequential/sasrec/model.py +3 -4
- replay/preprocessing/__init__.py +7 -1
- replay/preprocessing/discretizer.py +719 -0
- replay/preprocessing/label_encoder.py +384 -52
- replay/splitters/cold_user_random_splitter.py +1 -1
- replay/utils/__init__.py +1 -0
- replay/utils/common.py +7 -8
- replay/utils/session_handler.py +3 -4
- replay/utils/spark_utils.py +15 -1
- replay/utils/types.py +8 -0
- {replay_rec-0.18.0.dist-info → replay_rec-0.18.1.dist-info}/METADATA +73 -60
- {replay_rec-0.18.0.dist-info → replay_rec-0.18.1.dist-info}/RECORD +37 -31
- {replay_rec-0.18.0.dist-info → replay_rec-0.18.1.dist-info}/LICENSE +0 -0
- {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.
|
|
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.
|
|
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
|
[](https://github.com/sb-ai-lab/RePlay/blob/main/LICENSE)
|
|
46
49
|
[](https://pypi.org/project/replay-rec)
|
|
50
|
+
[](https://sb-ai-lab.github.io/RePlay/)
|
|
47
51
|
[](https://pypistats.org/packages/replay-rec)
|
|
48
52
|
<br>
|
|
49
53
|
[](https://github.com/sb-ai-lab/RePlay/actions/workflows/main.yml?query=branch%3Amain)
|
|
54
|
+
[](https://github.com/astral-sh/ruff)
|
|
55
|
+
[](https://pypi.org/project/replay-rec)
|
|
50
56
|
[](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="
|
|
78
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
137
|
-
interactions =
|
|
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
|
-
#
|
|
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
|
-
|
|
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
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
8
|
-
replay/data/nn/sequence_tokenizer.py,sha256=
|
|
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=
|
|
11
|
-
replay/data/nn/utils.py,sha256=
|
|
12
|
-
replay/data/schema.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
75
|
-
replay/models/nn/sequential/bert4rec/lightning.py,sha256=
|
|
76
|
-
replay/models/nn/sequential/bert4rec/model.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
85
|
-
replay/models/nn/sequential/sasrec/lightning.py,sha256=
|
|
86
|
-
replay/models/nn/sequential/sasrec/model.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
116
|
-
replay/utils/common.py,sha256=
|
|
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=
|
|
121
|
-
replay/utils/spark_utils.py,sha256=
|
|
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=
|
|
124
|
-
replay_rec-0.18.
|
|
125
|
-
replay_rec-0.18.
|
|
126
|
-
replay_rec-0.18.
|
|
127
|
-
replay_rec-0.18.
|
|
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,,
|
|
File without changes
|
|
File without changes
|