Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: IGL save resume #4554

Merged
merged 12 commits into from Apr 14, 2023
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion cs/unittest/RunTests.tt
Expand Up @@ -40,7 +40,7 @@ var skipList = new[] { 13, 32, 39, 258, 40, 259, 41, 260, 59, 60, 61, 66, 68, 90
256, 299, 300, 306, 310, 311, 327, 328, 329, 330, 331, 367, 368, 396, 397, 398, // DSJSON not supported
383, 389, 390, 391, 392, 393, // no data file
400, 404, // positional args
405, 406, 407, 411, 415, 417 // DSJSON not supported
405, 406, 407, 411, 415, 417, 456, 457 // DSJSON not supported
};

var outputModels = new Dictionary<string, TestCase>();
Expand Down
33 changes: 32 additions & 1 deletion test/core.vwtest.json
Expand Up @@ -5891,10 +5891,41 @@
"desc": "large action spaces with cb_explore_adf epsilon greedy and ips",
"vw_command": "--cb_explore_adf -d train-sets/las_100_actions.txt --noconstant --large_action_space --cb_type ips",
"diff_files": {
"stderr": "train-sets/ref/las_egreedy_ips.stderr"
"stderr": "train-sets/ref/las_egreedy_ips.stderr"
},
"input_files": [
"train-sets/las_100_actions.txt"
]
},
{
"id": 456,
"desc": "Igl save/load #1",
cheng-tan marked this conversation as resolved.
Show resolved Hide resolved
"vw_command": "--dsjson --cb_explore_adf --epsilon 0.2 -q UA --coin --experimental_igl -d train-sets/igl_3states_1.dsjson -f igl_1.vw -p igl_1.pred",
"diff_files": {
"stderr": "train-sets/ref/igl_3states_1.stderr",
"stdout": "train-sets/ref/igl_result.stdout",
"igl_1.pred": "pred-sets/ref/igl_1.pred"
},
"input_files": [
"train-sets/igl_3states_1.dsjson"
]
},
{
"id": 457,
"desc": "Igl save/load #2",
"vw_command": "--dsjson --cb_explore_adf --epsilon 0.2 -q UA --coin --experimental_igl -d train-sets/igl_3states_2.dsjson -i igl_1.vw -p igl_2.pred --readable_model igl_2.readable",
"diff_files": {
"stderr": "train-sets/ref/igl_3states_2.stderr",
"stdout": "train-sets/ref/igl_save_load.stdout",
"igl_2.pred": "pred-sets/ref/igl_2.pred",
"igl_2.readable": "train-sets/ref/igl_2.readable"
},
"input_files": [
"train-sets/igl_3states_2.dsjson",
"igl_1.vw"
],
"depends_on": [
456
]
}
]
20 changes: 20 additions & 0 deletions test/pred-sets/ref/igl_1.pred
@@ -0,0 +1,20 @@
0:0.25,1:0.25,2:0.25,3:0.25

0:0.25,1:0.25,2:0.25,3:0.25

0:0.25,1:0.25,2:0.25,3:0.25

0:0.25,1:0.25,2:0.25,3:0.25

0:0.25,1:0.25,2:0.25,3:0.25

0:0.25,1:0.25,2:0.25,3:0.25

0:0.25,1:0.25,2:0.25,3:0.25

0:0.25,1:0.25,2:0.25,3:0.25

2:0.85,0:0.05,1:0.05,3:0.05

2:0.85,0:0.05,1:0.05,3:0.05

20 changes: 20 additions & 0 deletions test/pred-sets/ref/igl_2.pred
@@ -0,0 +1,20 @@
0:0.316667,1:0.316667,3:0.316667,2:0.05

0:0.85,1:0.05,3:0.05,2:0.05

0:0.85,1:0.05,3:0.05,2:0.05

0:0.85,2:0.05,1:0.05,3:0.05

0:0.85,2:0.05,1:0.05,3:0.05

0:0.85,1:0.05,3:0.05,2:0.05

0:0.85,1:0.05,2:0.05,3:0.05

0:0.85,1:0.05,3:0.05,2:0.05

0:0.85,1:0.05,3:0.05,2:0.05

0:0.85,1:0.05,3:0.05,2:0.05

4 changes: 3 additions & 1 deletion test/run_tests.py
Expand Up @@ -770,7 +770,7 @@ def convert_tests_for_flatbuffers(
)
continue
# todo: 300 understand why is it failing
# test 189, 312, 316, 318, 351, 438, 394 and 319 depend on dsjson parser behaviour
# test 189, 312, 316, 318, 319, 351, 367, 368, 394, 438, 456, 457 depend on dsjson parser behaviour
bassmang marked this conversation as resolved.
Show resolved Hide resolved
# they can be enabled if we ignore diffing the --extra_metrics
# (324-326) deals with corrupted data, so cannot be translated to fb
# pdrop is not supported in fb, so 327-331 are excluded
Expand Down Expand Up @@ -813,6 +813,8 @@ def convert_tests_for_flatbuffers(
"444",
"450",
"452",
"456",
"457",
):
test.skip = True
test.skip_reason = "test skipped for automatic converted flatbuffer tests for unknown reason"
Expand Down
10 changes: 10 additions & 0 deletions test/train-sets/igl_3states_1.dsjson
@@ -0,0 +1,10 @@
{"_label_cost": 0, "_label_probability": 0.25, "_label_Action": 4, "_labelIndex": 3, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.25, 0.25, 0.25, 0.25], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.25, "_label_Action": 2, "_labelIndex": 1, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.25, 0.25, 0.25, 0.25], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.25, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=click": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.25, 0.25, 0.25, 0.25], "_original_label_cost": 0}
{"_label_cost": -1.0, "_label_probability": 0.25, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=like": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.25, 0.25, 0.25, 0.25], "_original_label_cost": -0.5}
{"_label_cost": 0, "_label_probability": 0.25, "_label_Action": 2, "_labelIndex": 1, "o": [{"v": {"v=skip": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.25, 0.25, 0.25, 0.25], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.25, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.25, 0.25, 0.25, 0.25], "_original_label_cost": 0}
{"_label_cost": -1.0, "_label_probability": 0.8500000016763806, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=click": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": -0.5}
{"_label_cost": 0, "_label_probability": 0.8500000016763806, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.3166666677221655, "_label_Action": 1, "_labelIndex": 0, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.3166666677221655, 0.3166666677221655, 0.04999999683350349, 0.3166666677221655], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.8500000016763806, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": 0}
10 changes: 10 additions & 0 deletions test/train-sets/igl_3states_2.dsjson
@@ -0,0 +1,10 @@
{"_label_cost": 0, "_label_probability": 0.3166666677221655, "_label_Action": 1, "_labelIndex": 0, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.3166666677221655, 0.3166666677221655, 0.04999999683350349, 0.3166666677221655], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.3166666677221655, "_label_Action": 2, "_labelIndex": 1, "o": [{"v": {"v=click": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.3166666677221655, 0.3166666677221655, 0.04999999683350349, 0.3166666677221655], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.45000000111758703, "_label_Action": 4, "_labelIndex": 3, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.45000000111758703, 0.04999999888241295, 0.04999999888241295, 0.45000000111758703], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.04999999944120647, "_label_Action": 4, "_labelIndex": 3, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.8500000016763806, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": 0}
{"_label_cost": -1.0, "_label_probability": 0.04999999944120647, "_label_Action": 4, "_labelIndex": 3, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": -0.5}
{"_label_cost": 0, "_label_probability": 0.8500000016763806, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Tom": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.8500000016763806, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.8500000016763806, "_label_Action": 3, "_labelIndex": 2, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=afternoon": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.04999999944120647, 0.04999999944120647, 0.8500000016763806, 0.04999999944120647], "_original_label_cost": 0}
{"_label_cost": 0, "_label_probability": 0.45000000111758703, "_label_Action": 1, "_labelIndex": 0, "o": [{"v": {"v=none": 1}, "_definitely_bad": false}], "a": [0, 1, 2, 3], "c": {"User": {"user=Anna": 1, "time_of_day=morning": 1}, "_multi": [{"Action": {"action=politics": 1}}, {"Action": {"action=sports": 1}}, {"Action": {"action=music": 1}}, {"Action": {"action=food": 1}}]}, "p": [0.45000000111758703, 0.04999999888241295, 0.04999999888241295, 0.45000000111758703], "_original_label_cost": 0}
134 changes: 134 additions & 0 deletions test/train-sets/ref/igl_2.readable
@@ -0,0 +1,134 @@
Version 9.8.0
Id
Min label:-1
Max label:1
bits:18
lda:0
0 ngram:
0 skip:
options: --cb_adf --cb_explore_adf --cb_type mtr --coin --csoaa_ldf multiline --csoaa_rank --epsilon 0.200000002980232 --experimental_igl --quadratic UA
Checksum: 3121739552
igl.pi.gd_per_model_states.size() = 1
igl.pi.gd_per_model_states[0]_normalized_sum_norm_x = 129.23013424873352
igl.pi.gd_per_model_states[0]_total_weight = 21.538355708122253
event_sum 0
action_sum 0
:1
initial_t 0
norm normalizer 1307.79
t 20
sum_loss -2.11765
sum_loss_since_last_dump -0.0588235
dump_interval 16
min_label -1
max_label 1
weighted_labeled_examples 10
weighted_labels 0
weighted_unlabeled_examples 0
example_number 10
total_features 280
total_weight 145.31
sd::oec.weighted_labeled_examples 8
current_pass 1
l1_state 0
l2_state 1
1726:0.0344859 4.8535 16.4793 1 0.909101 4.24321
1727:0.00683661 -12.4037 18.0143 1 -0.617725 15.209
8350:-0.108249 -0.466135 0.466135 1 0.140439 1
10128:0.0122459 1.63121 8.39216 1 -1.29539 4.24321
14652:-0.491281 -4.50874 4.50874 1 8.87246 1.49518
21538:0.000880041 0.65637 43.3174 1 -2.51338 4.36713
21539:-0.0542068 0.46005 4.73607 1 -1.73257 1.11111
27350:0 -0.230076 0.230076 1 0 1
30282:-0.0231296 -5.09341 14.8838 1 -0.730476 4.36713
30521:0 0.00430833 0.00430833 1 0 1
35174:-0.0425662 -0.716775 2.25372 1 -0.743869 1
36958:0.13371 8.29564 10.0166 1 4.09446 2.67292
43926:0 0.599911 0.599911 1 0 1
46465:0.00681727 -12.408 18.01 1 -0.622104 15.209
46537:0.150066 0.375624 0.375624 1 0.0766576 1
48516:-0.145777 -0.717649 0.717649 1 0.301177 1
49396:0.0119607 1.27491 6.99941 1 -1.32448 3.50075
52530:-0.171225 -1.56561 2.92062 1 0.378208 1
52896:0 -2.53536 2.53536 1 0 2.53536
57174:-0.00490271 -1.33915 9.84874 1 -1.99011 3.30251
63226:0 -0.363413 0.363413 1 0 1
63436:0 -0.342453 0.342453 1 0 1
63631:0 0 0 1 0 0
65162:-0.000966047 -0.777182 24.3778 1 -1.36168 3.41527
65163:-0.0122691 -12.9111 18.6834 1 -1.09382 15.209
66820:-0.000759732 -0.3676 9.82128 1 -1.87079 3.50075
68220:-0.0127006 -2.55805 12.3485 1 -0.978873 4.36713
68738:0 -0.57497 0.57497 1 0 1
68898:0 -0.378745 0.378745 1 0 1
70009:0 0 0 1 0 0
83210:-1.01154 -5.47835 5.47835 1 21.3605 1.49518
83658:0.190393 1.22609 1.22609 1 0.816774 1
85836:-0.0172509 -0.469995 1.825 1 -0.924803 1
88998:0.0134472 1.85141 8.17196 1 -1.36992 4.24321
89207:0 0 0 1 0 0
97986:0 -0.273395 0.273395 1 0 1
100550:-0.132558 -0.77634 0.77634 1 0.419132 1
106191:0 0.822717 0.822717 1 0 1
106226:0 -0.220204 0.220204 1 0 1
107360:-0.00678092 -1.71789 10.2275 1 -1.95779 3.30251
110852:-0.262302 -1.10336 1.10336 1 1.25384 1
113858:-0.277159 -2.22584 3.49866 1 1.67679 1
115342:0 0.677504 0.677504 1 0 1
118424:0 -0.396715 0.396715 1 0 1
121933:-0.374912 -0.0736163 2.29584 1 -1.65589 1.11111
126056:0.128469 7.04461 7.61564 1 3.61551 2.67292
126792:-0.000757584 -0.290702 9.92003 1 -1.37512 3.50075
126793:0 0.822717 0.822717 1 0 1
128336:-0.198476 -2.17359 3.71054 1 0.932431 1
129870:0 3.50075 3.50075 1 0 3.50075
130274:-0.00231036 -0.921915 22.1261 1 -1.56947 2.67292
130275:-0.228797 -1.17208 1.91096 1 0.168674 1
133316:-1.04358 -2.86168 2.86168 1 10.4799 1
133318:0 0.677504 0.677504 1 0 1
133616:0 -0.396715 0.396715 1 0 1
139008:-0.115322 -11.2614 21.0518 1 5.85628 4.36713
139009:-0.374912 -0.0736163 2.29584 1 -1.65589 1.11111
139234:0.190393 1.22609 1.22609 1 0.816774 1
142341:0 0.822717 0.822717 1 0 1
143928:0.0586957 3.22229 8.0871 1 1.14446 3.41527
147740:-0.0255642 -5.78301 15.5734 1 -0.693303 4.36713
148110:-0.132558 -0.77634 0.77634 1 0.419132 1
151368:0 3.50075 3.50075 1 0 3.50075
153002:0 -0.57497 0.57497 1 0 1
155971:-0.228797 -1.17208 1.91096 1 0.168674 1
159096:0.0831 7.24729 12.5485 1 2.4207 4.24321
159367:-0.374912 -0.0736163 2.29584 1 -1.65589 1.11111
162636:-0.0191232 -0.467518 1.74034 1 -0.704933 1
169194:0 -0.273395 0.273395 1 0 1
174124:0 -0.220204 0.220204 1 0 1
175906:-0.65242 -6.16794 6.16794 1 17.5315 1.76627
177472:-0.0525927 1.84721 4.16414 1 -0.308794 3.00568
194190:0.00109881 1.15039 54.4154 1 -2.42034 4.36713
195062:0 -2.53536 2.53536 1 0 2.53536
196264:0.0222109 3.85825 13.3002 1 -1.57445 3.30251
198403:-0.0181454 -0.293359 1.61321 1 -0.574762 1
198522:-0.0450209 -0.929767 3.55759 1 -0.965221 1
201038:0.0853859 7.02709 12.7687 1 2.898 4.24321
208092:0 -0.378745 0.378745 1 0 1
209060:0 -0.342453 0.342453 1 0 1
212146:0 -0.363413 0.363413 1 0 1
212266:-0.0151965 -3.24764 13.038 1 -1.00013 4.36713
216590:0.0767658 4.67911 6.63029 1 0.0649194 3.41527
225028:0.00100277 0.801102 45.569 1 -2.43254 4.36713
225029:-0.00862278 -11.2789 21.5085 1 -1.7962 15.209
226546:0.0126401 0.639065 6.36243 1 0.750951 3.50075
226948:0.0271454 6.57775 20.2441 1 -1.42637 3.30251
226949:-0.104827 -0.796456 2.28658 1 -0.533525 1
228076:-0.145777 -0.717649 0.717649 1 0.301177 1
229630:0 -0.230076 0.230076 1 0 1
230046:0.0191037 3.47951 13.679 1 -1.6483 3.30251
232120:0.000216762 -0.120813 67.6952 1 -2.09091 4.36713
232121:-0.00898405 -12.451 23.4195 1 -1.79197 15.209
242032:-0.00605899 -0.433612 1.63343 1 -0.672706 1
247227:-0.246914 -0.503097 0.673373 1 -0.12613 1
247283:0.00683661 -12.4037 18.0143 1 -0.617725 15.209
248182:0.00130444 3.09824 6.56511 1 -1.46193 3.00568
248502:-0.108249 -0.466135 0.466135 1 0.140439 1
250644:-0.32426 -5.19834 5.19834 1 7.15901 1.76627
258750:0 0.599911 0.599911 1 0 1
31 changes: 31 additions & 0 deletions test/train-sets/ref/igl_3states_1.stderr
@@ -0,0 +1,31 @@
creating quadratic features for pairs: UA
final_regressor = igl_1.vw
predictions = igl_1.pred
Enabling FTRL based optimization
Algorithm used: Coin Betting
ftrl_alpha = 4
ftrl_beta = 1
using no cache
Reading datafile = train-sets/igl_3states_1.dsjson
num sources = 1
Num weight bits = 18
learning rate = 0.5
initial_t = 0
power_t = 0.5
cb_type = mtr
Enabled learners: ftrl-Coin Betting, scorer-identity, csoaa_ldf-rank, cb_adf, cb_explore_adf_greedy, experimental_igl, shared_feature_merger
Input label = CB_WITH_OBSERVATIONS
Output pred = ACTION_PROBS
average since example example current current current
loss last counter weight label predict features
0.000000 0.000000 1 1.0 3:0:0.25 0:0.25 21
0.000000 0.000000 2 2.0 1:0:0.25 0:0.25 21
0.000000 0.000000 4 4.0 2:0:0.25 0:0.25 21
-0.03676 -0.07352 8 8.0 2:0:0.85 0:0.25 21

finished run
number of examples = 10
weighted example sum = 10.000000
weighted label sum = 0.000000
average loss = -0.029412
total feature number = 280