GRU4Rec_Tensorflow#
- Out-of-the-box:
The code is able to run, however it is not prepared for unknown test items. The dropout parameter was fixed to regain its original meaning as it was used as keep probability instead of drop probability.
- Minor fix:
Lowered the large initial accumulator value close to zero as it prevented sufficient convergence.
The exponential learning rate decay is discarded as it is not part of the original.
Now the hard-coded batch_size parameter can be changed.
Rees46#
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 |
MRR@1 |
Recall@5 |
MRR@5 |
Recall@10 |
MRR@10 |
Recall@20 |
MRR@20 |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
0.1108 |
0.1108 |
0.3000 |
0.1772 |
0.4126 |
0.1922 |
0.5291 |
0.2003 |
GRU4Rec Official |
GRU4Rec_Tensorflow params |
0.0304 |
0.0304 |
0.1178 |
0.0596 |
0.1950 |
0.0697 |
0.2940 |
0.0765 |
GRU4Rec_Tensorflow |
OOB |
0.0270 |
0.0270 |
0.0895 |
0.0482 |
0.1403 |
0.0549 |
0.2066 |
0.0594 |
GRU4Rec_Tensorflow |
Correct Exp |
0.0251 |
0.0251 |
0.1026 |
0.0507 |
0.1747 |
0.0602 |
0.2698 |
0.0667 |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 Diff |
MRR@1 Diff |
Recall@5 Diff |
MRR@5 Diff |
Recall@10 Diff |
MRR@10 Diff |
Recall@20 Diff |
MRR@20 Diff |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
||||||||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
-72.60% |
-72.60% |
-60.75% |
-66.39% |
-52.75% |
-63.75% |
-44.43% |
-61.81% |
GRU4Rec_Tensorflow |
OOB |
-75.62% |
-75.62% |
-70.17% |
-72.81% |
-65.99% |
-71.45% |
-60.95% |
-70.33% |
GRU4Rec_Tensorflow |
Correct Exp |
-77.39% |
-77.39% |
-65.79% |
-71.36% |
-57.67% |
-68.69% |
-49.00% |
-66.69% |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
GRU4Rec Official |
GRU4Rec Official |
GRU4Rec_Tensorflow |
GRU4Rec_Tensorflow |
|
---|---|---|---|---|
Variant |
Best params |
GRU4Rec_Tensorflow params |
OOB |
Correct Exp |
loss |
cross-entropy |
cross-entropy |
cross-entropy |
cross-entropy |
optim |
adagrad |
adagrad |
adagrad |
adagrad |
constrained_embedding |
True |
False |
False |
False |
embedding |
0 |
512 |
512 |
512 |
final_act |
softmax |
softmax |
softmax |
softmax |
layers |
512 |
512 |
512 |
512 |
batch_size |
240 |
240 |
50 |
240 |
dropout_p_embed |
0.45 |
0 |
N/A |
N/A |
dropout_p_hidden |
0 |
0 |
0 |
0 |
learning_rate |
0.065 |
0.065 |
0.065 |
0.065 |
momentum |
0 |
0 |
N/A |
N/A |
n_sample |
2048 |
0 |
N/A |
N/A |
sample_alpha |
0.5 |
0 |
N/A |
N/A |
bpreg |
0 |
0 |
N/A |
N/A |
logq |
1 |
0 |
N/A |
N/A |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Avg. epoch time (s) |
Avg. epoch time to Best |
Avg. epoch time to Matching |
Avg. mb/s |
Avg. e/s |
---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
367.41 |
650.91 |
156189.00 |
||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
280.85 |
0.76 x |
851.46 |
204324.00 |
|
GRU4Rec_Tensorflow |
OOB |
2381.62 |
6.48 x |
8.48 x |
481.90 |
24094.84 |
GRU4Rec_Tensorflow |
Correct Exp |
531.14 |
1.45 x |
1.89 x |
450.16 |
108037.24 |
Yoochoose#
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 |
MRR@1 |
Recall@5 |
MRR@5 |
Recall@10 |
MRR@10 |
Recall@20 |
MRR@20 |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
0.1797 |
0.1797 |
0.4457 |
0.2757 |
0.5698 |
0.2924 |
0.6804 |
0.3002 |
GRU4Rec Official |
GRU4Rec_Tensorflow params |
0.0715 |
0.0715 |
0.2325 |
0.1269 |
0.3431 |
0.1416 |
0.4555 |
0.1495 |
GRU4Rec_Tensorflow |
OOB |
0.0727 |
0.0727 |
0.2051 |
0.1178 |
0.2946 |
0.1296 |
0.3857 |
0.1359 |
GRU4Rec_Tensorflow |
Correct Exp |
0.0691 |
0.0691 |
0.2301 |
0.1252 |
0.3409 |
0.1399 |
0.4606 |
0.1482 |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 Diff |
MRR@1 Diff |
Recall@5 Diff |
MRR@5 Diff |
Recall@10 Diff |
MRR@10 Diff |
Recall@20 Diff |
MRR@20 Diff |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
||||||||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
-60.19% |
-60.19% |
-47.85% |
-53.96% |
-39.79% |
-51.56% |
-33.05% |
-50.21% |
GRU4Rec_Tensorflow |
OOB |
-59.52% |
-59.52% |
-54.00% |
-57.27% |
-48.30% |
-55.68% |
-43.31% |
-54.73% |
GRU4Rec_Tensorflow |
Correct Exp |
-61.54% |
-61.54% |
-48.37% |
-54.61% |
-40.17% |
-52.16% |
-32.29% |
-50.63% |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
GRU4Rec Official |
GRU4Rec Official |
GRU4Rec_Tensorflow |
GRU4Rec_Tensorflow |
|
---|---|---|---|---|
Variant |
Best params |
GRU4Rec_Tensorflow params |
OOB |
Correct Exp |
loss |
cross-entropy |
cross-entropy |
cross-entropy |
cross-entropy |
optim |
adagrad |
adagrad |
adagrad |
adagrad |
constrained_embedding |
True |
False |
False |
False |
embedding |
0 |
480 |
480 |
480 |
final_act |
softmax |
softmax |
softmax |
softmax |
layers |
480 |
480 |
480 |
480 |
batch_size |
48 |
48 |
50 |
48 |
dropout_p_embed |
0 |
0 |
N/A |
N/A |
dropout_p_hidden |
0.2 |
0.2 |
0.2 |
0.2 |
learning_rate |
0.07 |
0.07 |
0.07 |
0.07 |
momentum |
0 |
0 |
N/A |
N/A |
n_sample |
2048 |
0 |
N/A |
N/A |
sample_alpha |
0.2 |
0 |
N/A |
N/A |
bpreg |
0 |
0 |
N/A |
N/A |
logq |
1 |
0 |
N/A |
N/A |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Avg. epoch time (s) |
Avg. epoch time to Best |
Avg. epoch time to Matching |
Avg. mb/s |
Avg. e/s |
---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
451.75 |
991.99 |
47613.00 |
||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
352.48 |
0.78 x |
1271.36 |
61023.00 |
|
GRU4Rec_Tensorflow |
OOB |
981.87 |
2.17 x |
2.79 x |
440.53 |
22026.42 |
GRU4Rec_Tensorflow |
Correct Exp |
965.98 |
2.14 x |
2.74 x |
463.92 |
22268.35 |
Coveo#
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 |
MRR@1 |
Recall@5 |
MRR@5 |
Recall@10 |
MRR@10 |
Recall@20 |
MRR@20 |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
0.0489 |
0.0489 |
0.1418 |
0.0814 |
0.2085 |
0.0901 |
0.2947 |
0.0960 |
GRU4Rec Official |
GRU4Rec_Tensorflow params |
0.0273 |
0.0273 |
0.0853 |
0.0468 |
0.1326 |
0.0530 |
0.2001 |
0.0576 |
GRU4Rec_Tensorflow |
OOB |
0.0025 |
0.0025 |
0.0103 |
0.0050 |
0.0204 |
0.0063 |
0.0375 |
0.0075 |
GRU4Rec_Tensorflow |
Correct Exp |
0.0252 |
0.0252 |
0.0804 |
0.0441 |
0.1276 |
0.0503 |
0.1951 |
0.0549 |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 Diff |
MRR@1 Diff |
Recall@5 Diff |
MRR@5 Diff |
Recall@10 Diff |
MRR@10 Diff |
Recall@20 Diff |
MRR@20 Diff |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
||||||||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
-44.10% |
-44.10% |
-39.85% |
-42.52% |
-36.42% |
-41.24% |
-32.12% |
-40.06% |
GRU4Rec_Tensorflow |
OOB |
-94.84% |
-94.84% |
-92.70% |
-93.88% |
-90.24% |
-93.01% |
-87.27% |
-92.22% |
GRU4Rec_Tensorflow |
Correct Exp |
-48.49% |
-48.49% |
-43.33% |
-45.79% |
-38.80% |
-44.18% |
-33.81% |
-42.79% |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
GRU4Rec Official |
GRU4Rec Official |
GRU4Rec_Tensorflow |
GRU4Rec_Tensorflow |
|
---|---|---|---|---|
Variant |
Best params |
GRU4Rec_Tensorflow params |
OOB |
Correct Exp |
loss |
cross-entropy |
cross-entropy |
cross-entropy |
cross-entropy |
optim |
adagrad |
adagrad |
adagrad |
adagrad |
constrained_embedding |
True |
False |
False |
False |
embedding |
0 |
512 |
512 |
512 |
final_act |
softmax |
softmax |
softmax |
softmax |
layers |
512 |
512 |
512 |
512 |
batch_size |
32 |
32 |
50 |
32 |
dropout_p_embed |
0.4 |
0 |
N/A |
N/A |
dropout_p_hidden |
0.15 |
0.15 |
0.15 |
0.15 |
learning_rate |
0.03 |
0.03 |
0.03 |
0.03 |
momentum |
0 |
0 |
N/A |
N/A |
n_sample |
2048 |
0 |
N/A |
N/A |
sample_alpha |
0 |
0 |
N/A |
N/A |
bpreg |
0 |
0 |
N/A |
N/A |
logq |
1 |
0 |
N/A |
N/A |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Avg. epoch time (s) |
Avg. epoch time to Best |
Avg. epoch time to Matching |
Avg. mb/s |
Avg. e/s |
---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
37.17 |
1047.47 |
33505.00 |
||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
29.40 |
0.79 x |
1324.38 |
42363.00 |
|
GRU4Rec_Tensorflow |
OOB |
55.39 |
1.49 x |
1.88 x |
449.67 |
22483.60 |
GRU4Rec_Tensorflow |
Correct Exp |
81.90 |
2.20 x |
2.79 x |
475.29 |
15209.23 |
Retailrocket#
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 |
MRR@1 |
Recall@5 |
MRR@5 |
Recall@10 |
MRR@10 |
Recall@20 |
MRR@20 |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
0.1150 |
0.1150 |
0.3026 |
0.1814 |
0.4019 |
0.1947 |
0.4953 |
0.2012 |
GRU4Rec Official |
GRU4Rec_Tensorflow params |
0.0541 |
0.0541 |
0.1662 |
0.0931 |
0.2425 |
0.1031 |
0.3309 |
0.1092 |
GRU4Rec_Tensorflow |
OOB |
0.0130 |
0.0130 |
0.0328 |
0.0201 |
0.0381 |
0.0208 |
0.0439 |
0.0212 |
GRU4Rec_Tensorflow |
Correct Exp |
0.0612 |
0.0612 |
0.1776 |
0.1019 |
0.2541 |
0.1120 |
0.3388 |
0.1179 |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 Diff |
MRR@1 Diff |
Recall@5 Diff |
MRR@5 Diff |
Recall@10 Diff |
MRR@10 Diff |
Recall@20 Diff |
MRR@20 Diff |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
||||||||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
-52.99% |
-52.99% |
-45.08% |
-48.71% |
-39.67% |
-47.05% |
-33.19% |
-45.73% |
GRU4Rec_Tensorflow |
OOB |
-88.71% |
-88.71% |
-89.16% |
-88.92% |
-90.51% |
-89.32% |
-91.14% |
-89.46% |
GRU4Rec_Tensorflow |
Correct Exp |
-46.76% |
-46.76% |
-41.29% |
-43.85% |
-36.77% |
-42.45% |
-31.59% |
-41.40% |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
GRU4Rec Official |
GRU4Rec Official |
GRU4Rec_Tensorflow |
GRU4Rec_Tensorflow |
|
---|---|---|---|---|
Variant |
Best params |
GRU4Rec_Tensorflow params |
OOB |
Correct Exp |
loss |
cross-entropy |
cross-entropy |
cross-entropy |
cross-entropy |
optim |
adagrad |
adagrad |
adagrad |
adagrad |
constrained_embedding |
True |
False |
False |
False |
embedding |
0 |
192 |
192 |
192 |
final_act |
softmax |
softmax |
softmax |
softmax |
layers |
192 |
192 |
192 |
192 |
batch_size |
240 |
240 |
50 |
240 |
dropout_p_embed |
0.5 |
0 |
N/A |
N/A |
dropout_p_hidden |
0.05 |
0.05 |
0.05 |
0.05 |
learning_rate |
0.085 |
0.085 |
0.085 |
0.085 |
momentum |
0.3 |
0 |
N/A |
N/A |
n_sample |
2048 |
0 |
N/A |
N/A |
sample_alpha |
0.3 |
0 |
N/A |
N/A |
bpreg |
0 |
0 |
N/A |
N/A |
logq |
1 |
0 |
N/A |
N/A |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Avg. epoch time (s) |
Avg. epoch time to Best |
Avg. epoch time to Matching |
Avg. mb/s |
Avg. e/s |
---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
2.77 |
880.71 |
199935.00 |
||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
1.86 |
0.67 x |
1298.62 |
297964.00 |
|
GRU4Rec_Tensorflow |
OOB |
22.97 |
8.29 x |
12.35 x |
482.83 |
24141.37 |
GRU4Rec_Tensorflow |
Correct Exp |
5.09 |
1.84 x |
2.74 x |
454.82 |
109157.42 |
Diginetica#
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 |
MRR@1 |
Recall@5 |
MRR@5 |
Recall@10 |
MRR@10 |
Recall@20 |
MRR@20 |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
0.0647 |
0.0647 |
0.2220 |
0.1181 |
0.3414 |
0.1339 |
0.4874 |
0.1440 |
GRU4Rec Official |
GRU4Rec_Tensorflow params |
0.0313 |
0.0313 |
0.1136 |
0.0588 |
0.1893 |
0.0687 |
0.2976 |
0.0761 |
GRU4Rec_Tensorflow |
OOB |
0.0043 |
0.0043 |
0.0129 |
0.0073 |
0.0202 |
0.0082 |
0.0284 |
0.0088 |
GRU4Rec_Tensorflow |
Correct Exp |
0.0335 |
0.0335 |
0.1224 |
0.0635 |
0.1978 |
0.0734 |
0.3014 |
0.0805 |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Recall@1 Diff |
MRR@1 Diff |
Recall@5 Diff |
MRR@5 Diff |
Recall@10 Diff |
MRR@10 Diff |
Recall@20 Diff |
MRR@20 Diff |
---|---|---|---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
||||||||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
-51.59% |
-51.59% |
-48.83% |
-50.26% |
-44.54% |
-48.70% |
-38.94% |
-47.19% |
GRU4Rec_Tensorflow |
OOB |
-93.40% |
-93.40% |
-94.19% |
-93.83% |
-94.08% |
-93.85% |
-94.17% |
-93.89% |
GRU4Rec_Tensorflow |
Correct Exp |
-48.27% |
-48.27% |
-44.85% |
-46.24% |
-42.07% |
-45.18% |
-38.16% |
-44.14% |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
GRU4Rec Official |
GRU4Rec Official |
GRU4Rec_Tensorflow |
GRU4Rec_Tensorflow |
|
---|---|---|---|---|
Variant |
Best params |
GRU4Rec_Tensorflow params |
OOB |
Correct Exp |
loss |
cross-entropy |
cross-entropy |
cross-entropy |
cross-entropy |
optim |
adagrad |
adagrad |
adagrad |
adagrad |
constrained_embedding |
True |
False |
False |
False |
embedding |
0 |
192 |
192 |
192 |
final_act |
softmax |
softmax |
softmax |
softmax |
layers |
192 |
192 |
192 |
192 |
batch_size |
128 |
128 |
50 |
128 |
dropout_p_embed |
0.45 |
0 |
N/A |
N/A |
dropout_p_hidden |
0.15 |
0.15 |
0.15 |
0.15 |
learning_rate |
0.1 |
0.1 |
0.1 |
0.1 |
momentum |
0 |
0 |
N/A |
N/A |
n_sample |
2048 |
0 |
N/A |
N/A |
sample_alpha |
0 |
0 |
N/A |
N/A |
bpreg |
0 |
0 |
N/A |
N/A |
logq |
1 |
0 |
N/A |
N/A |
Note
BPR-Max is not supported by GRU4Rec_Tensorflow
Implementation |
Variant |
Avg. epoch time (s) |
Avg. epoch time to Best |
Avg. epoch time to Matching |
Avg. mb/s |
Avg. e/s |
---|---|---|---|---|---|---|
GRU4Rec Official |
Best params |
4.52 |
1134.52 |
144959.00 |
||
GRU4Rec Official |
GRU4Rec_Tensorflow params |
3.62 |
0.80 x |
1417.96 |
181209.00 |
|
GRU4Rec_Tensorflow |
OOB |
26.33 |
5.83 x |
7.27 x |
498.25 |
24912.83 |
GRU4Rec_Tensorflow |
Correct Exp |
10.75 |
2.38 x |
2.97 x |
476.49 |
60990.52 |