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: Generate and upload docs for every commit #336

Merged

Conversation

jackgerrits
Copy link
Member

  • Generates and uploads C++ and Python docs to https://vowpalwabbit.org/docs
  • Removes old header from doxygen docs used to navigate between C++/Python

# - Released and uploads to folder that matches release tag
on:
push:
branches:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it worth setting this to pr so that the pipeline can run for the PR and then when it's ok and working re-set it to master?

@jackgerrits
Copy link
Member Author

I don't think the action will run from a PR if it isn't yet merged into the target branch. At least that's what it seemed like when I added the original Python CI.

@jackgerrits jackgerrits merged commit 2397afc into VowpalWabbit:master Jun 2, 2021
zwd-ms added a commit that referenced this pull request Jul 13, 2021
* update vw version (#307)

* fb to dsjson log converter (#303)

* Add fb to dsjson joined log converter as an option of parser

* [binary parser] simple e2e test for metrics (#309)

- only for linux

* Fix bug with CB action with _slot_id breaking hard rl.net.cli in sim mode. (#310)

* [Binary parser] more error handling and logging (#311)

* [Binary parser] refactor reward related structs and methods (#314)

* Ataymano/i joiner (#315)

* refactor reward related structs and methods

* fix header imports

* i_joiner interface

* initialize parser from i_joiner*

* virtual -> override

* unique_ptr<i_joiner>&& as init arg

* fixes

Co-authored-by: Olga Vrousgou <olgavrou@gmail.com>

* [Binary parser] fix reward setting bugs (#316)

* update vw to 15c197 (#318)

- update header that got removed on vw
- update signature of metrics from tuple to pair
- this will enable --dsjson --extra_metrics

changes from VW:
15c197975 fix: bfgs preconditioner, Resolves #2745 (#2995)
98876a2ff feat: [metrics] add optional metrics for --dsjson (#2992)
462b4c82f feat: [metrics] add support for float (#2991)
b250d8565 refactor: Integrate count and sum feat sq into the interaction generation routine (#2987)
a7891c9a6 fix: Added save_load to squarcb (#2988)
733548daa style: Use float instead of float ref (#2986)
cd89d7b26 build: [WIP] Enable building C# projects on Windows with CMake (#2929)
6cd559100 style: Give template types more descriptive names (#2984)
7f49e95a0 fix: Add read_line_json_s function taking line length (#2968)
549ebcdeb refactor: Support const iterators to feature groups (#2972)
5d86cafa4 refactor: Do not use cstyle casts (guideline 16) (#2981)
1c31f950d fix: Unify duplicated error code headers (#2978)
4f0fe622f fix: use nullptr instead of NULL (#2980)
4eeecd343 fix: Avoid float to double promotion by using C++ version of math functions (#2979)
e3769cf09 Fixing json parse issue when pdrop is 0 (#2977)
89a7fe1b2 fix: fixes for headers not including things they need (#2974)
b1f853988 refactor: Remove unused foreach_feature func (#2973)

* add cb-loop to example_gen and make it accept a config file (#322)

* Gets CMake working on Windows (#320)

* Also enables building dotnet bindings via CMake on Windows

* [Binary parser] add test that compares json and fb joined logs's outputs (#323)

* mac ci: continue on error true (#327)

ignoring until #300 is fixed or we figure out why commit 13950d0 started consistently failing on mac ci.

* update vw to 8a24c1b4e (#324)

8a24c1b4e fix: [metrics] account for label action not predicted (#3004)
7b490aecc fix: cb_explore_adf_first.cc save_load (#2997)
b5939a84b Update dev environment to use new image (#3001)
97e137989 refactor: [metrics] cb_explore_adf optional metrics (#2998)
060c4c01f fix: keep gamm_exponent in squarecb (#2999)
7a495295f fix: [metrics] add missing ccb tests (#2996)

* [binary parser] set build default to release (#325)

* add file format to README (#329)

* Enable import of native msbuild projects into CMake-generated solution (#332)

* Enable native VS .NET projects in CMake generated sln
* Add utility target to launch VS with CMake build environment
* Fix target file location for rltest-onnx

* more info in README for binary parser (#334)

* Python binding overhaul, automatic binary and documentation generation (#330)

* WIP python bindings

* rl static deps

* update args

* update ci

* update build image

* remove other platforms for now

* add docs section

* Write migration guide

* rename from main to py_api.cc

* remove swig pieces

* migrate examples

* add build to ignore

* More updates

* Remove unnecessary bits of conf

* remove duplicated add_subdirectory

* Default static deps to off

* test ci

* fetch submodules

* fix doc gen

* Update build_python_wheels.yml

* Update build_python_wheels.yml

* Fix examples

* Support additional cmake args

* Add stats log replay tool. (#331)

* Add stats log replay tool.

* Simplify data loading and add documentation.

* feat: Generate and upload docs for every commit (#336)

* supply SPHINXBUILD to python doc builder ci (#339)

* ci: Another fix for doc building (#340)

* Ataymano/multistep joiner (#341)

* update vw version (#338)

dsjson parsing will now skip malformed lines instead of throwing exception. Run with --strict_parse to throw instead of skip.

commits:
04d218b fix: [metrics] set to zero (#3035)
860c525 feat: [metrics] cb_explore_adf additional metrics (#3032)
110a3e4 feat: [py] DFtoVW -> Add weight attribute to SimpleLabel (#3033)
b7625e8 feat: Create class to manage dual indexing of feature_groups (#3029)
6335dd1 refactor: Avoid v_array copies (#3030)
3df4973 feat: add flag to limit log output (#3021)
888e6f7 refactor: cb_explore_pdf (#3026)
99c645b feat: [py] Add contextual bandit label to DFtoVW (#2713)
3089e1b feat: add generic_range adapter class (#3025)
001cbb4 refactor: cb_explore_adf_synthcover (#3024)
f1fab51 refactor: cb_explore_adf_greedy (#3023)
21e9f8b fix: set default learn_returns_prediction to false, refactor cover (#3017)
9abf890 feat: [py] add api for learner metrics (#3022)
eb56eb7 refactor: Non printable namespaces should not be wildcard expanded (#3020)
fbe1e6b feat: [dsjson] Malformed lines are now skipped instead of being fatal (#3007)
4781c28 refactor: CCB participates in interaction reduction expansion (#3013)
613c93c refactor: cb_explore_adf_bag.cc make_reduction_learner (#3016)
a361623 refactor: refactor cb_explore_adf_rnd.cc with make_reduction_learner (#3014)
6ece769 refactor: cb_explore_adf_softmax.cc with make_reduction_learner (#3015)
c7ea383 refactor: eval_count_of_generated_ft PR follow up (#3011)
88b0eaf fix: refactor cb_explore_adf_first (#3012)
62bc992 fix: Refactor regcb with make_reduction_learner (#3010)
d0727e7 fix: Refactor squarecb with make_reduction_learner (#3009)
72c1db6 fix: warning for const qualifier on reference type (#3008)
26ada35 feat: support cached interaction expansion as a reduction (#2993)
17953f7 fix: regcb save_load and keep mellowness (#3006)
bf2162e fix: remove non printable ascii char from tests (#3005)

* Add skip learn logic to binary file parser (#333)

* Add skip learn logic to binary file parser

* fix: make launch_vs command set envvars correctly (#335)

The previous version of this was setting the BaseOutputFolder (which is changed under CMake when building DotNet bindings to ensure that native dlls are next to the managed dlls that require them) with quotes inside the variable. The fix is to quote the full set arg, so that quotes are not included in the value.

* [Binary parser] refactoring to make room for more loop types (#343)

* ci: Restrict ci to run only on master or release branches or all PRs (#344)

* [Binary parser] More refactoring and some initial ccb parsing (#345)

* vw pdrop hotfix pickup (#349)

* Add appid to event metadata for V2 schema (generic_event only)  (#337)

* Skip learn metrics (#346)

* Skip learn metrics

* [Binary parser] ccb parsing (#347)

* Updating VW from dbf5ae7ca to aaabadd9b (#350)

Co-authored-by: irvinec <caseyi@outlook.com>

* call c_str() safely (#354)

* Update bin log spec (#357)

* fix small bugs

* Handle file header and magic as messages and allow them at any point in the stream.

* Ignore events if no checkpoint info is available.

* Fix test suite.

* Remove binary_parser::read_magic as it's no longer used by parse_examples.

* Add tests for support of message reordering.

This adds new tool `log_gen` that takes a string and output a log
with the set of messages as defined in it. This was used to cook the
test files used in the test suite.

* Move config readiness to i_joiner.

* fix style and add documentation.

* converter to skip learning (#358)

Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* Support file format update. (#359)

* [binary-log] Add CLI override to checkpoint parameters. (#360)

CLI overrides must be sticky to be useful, so we introduce the notion of
sticky values that once set, can't be modified.

This is done by having a sticky_value<T> container in which the setter
takes an argument which controls the stickyness of the value. This way
we can use it for both CLI sources and file sources.

* Fix default case warning.

* Fix python build doc.

* Fix two issues that slipped into master by accident. (#362)

* Updating VW commit from aaabadd to ecadd8d (#363)

From commit aaabadd9b9af5d9970b08bfc7999a3382b6e6dc5
To commit ecadd8d8b622a74e4deed519e04ffe92ce4a9892

ecadd8d8b fix: Multiline Example handling when in multi-pass mode (#3143)
473f06263 test: get type information of VW options (#3142)
b5782bcae fix: Fix CB label caching (#3141)
24a2434ac refactor: return ScoredDual with bound (#3121)
a1b885252 test: update runtests.AUTOGEN.json (#3140)
fb1a5a817 refactor: remove all usages of delete_v and deprecate (#3138)
237e0f799 refactor: Don't use a shared ptr for audit (#3134)
9821ab91f refactor: deprecate some v_array functions (#3136)
7958d62dc refactor: use destructor to manage memory (#3131)
f2bd8e5e7 refactor: remove all usages of v_init and deprecate (#3135)
9c2ef84f2 refactor: simplify search memory management (#3132)
e1bef6108 ci: lock to specific version of google test in benchmark CI (#3137)
b8ed478a9 refactor: do not need to call delete_v anymore (#3130)
b2b7c9aeb fix: [Python] Fix default parameter convert_labels in sklearn_vw.VWRegressor (#3129)
86c374643 refactor: deprecate ezexample (#3128)
723743a05 fix: cats getting stuck to predicting tree edges for some bandwidths (#3114)
e0733c422 fix: use nullptr ostream when quiet is on (#3119)
863eee1a5 fix: fix two compiler warnings (#3123)
ec0accec9 fix: Check label type for shared features, Resolves #3088 (#3120)
b7d41f9b3 fix: [cb_to_cb_adf] multiple costs in label (#3126)
b06f76788 test: add to cmakelists unit test for cb_dro (#3117)
49fb54207 ci: Build docs as part of CI (#3090)
19c2031bc build: MSVC check must be done before project call (#3113)
16562d846 chore: Update deprecations to be explicit about 9.0 release (#3103)
e539f3c7d fix: setup_example should not be called twice on the same example (#3115)
eddadc095 fix: [DFtoVW] Fix issue with nan/None in feature (#3109)
ad39f4262 ci: Add Python type checking (#3105)
26442043b test: [py] fix seed for sim test (#3101)
6e052afbf feat: add learner builder for no-data learners (#3100)
57affdc57 chore: add deprecation notice for #3084 feature_self_interactions (#3099)
9241c148a refactor: remove cast in slim tests (#3098)
28fc4baec test: add tests for namespaces with same first letter (#3096)
becb082a2 feat: [Tutorial] Using DFtoVW and exploring VW output (#3068)
7f62d9fb4 chore: fix deprecation issue template (#3092)
3e7d62d61 test: [py] fix random failure by lowering value (#3089)
4ee7d96a9 chore: add requirements file to be used by binder (#3087)
3babe2213 feat: add chained_proxy_iterator to make it easier to iterate entire namespace index groups (#3076)
c7ff60303 refactor: Fix unnecessary usages of char* (#3085)
5c8fd55bc chore: Add deprecation template (#3028)
258e89f2c feat: [pyvw] Get weight from name (#3042)
4aa7728cc feat: add cb benchmark with more features (#3080)
ed13b81c9 fix: fix gdb pretty printer (#3079)


Co-authored-by: irvinec <caseyi@outlook.com>

* Fix episodic python binding.

Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Alexey Taymanov <41013086+ataymano@users.noreply.github.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Sheetal Lahabar <lamadh@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: irvinec <caseyi@outlook.com>
zwd-ms added a commit that referenced this pull request Jul 13, 2021
* update vw version (#307)

* fb to dsjson log converter (#303)

* Add fb to dsjson joined log converter as an option of parser

* [binary parser] simple e2e test for metrics (#309)

- only for linux

* Fix bug with CB action with _slot_id breaking hard rl.net.cli in sim mode. (#310)

* [Binary parser] more error handling and logging (#311)

* [Binary parser] refactor reward related structs and methods (#314)

* Ataymano/i joiner (#315)

* refactor reward related structs and methods

* fix header imports

* i_joiner interface

* initialize parser from i_joiner*

* virtual -> override

* unique_ptr<i_joiner>&& as init arg

* fixes

Co-authored-by: Olga Vrousgou <olgavrou@gmail.com>

* [Binary parser] fix reward setting bugs (#316)

* update vw to 15c197 (#318)

- update header that got removed on vw
- update signature of metrics from tuple to pair
- this will enable --dsjson --extra_metrics

changes from VW:
15c197975 fix: bfgs preconditioner, Resolves #2745 (#2995)
98876a2ff feat: [metrics] add optional metrics for --dsjson (#2992)
462b4c82f feat: [metrics] add support for float (#2991)
b250d8565 refactor: Integrate count and sum feat sq into the interaction generation routine (#2987)
a7891c9a6 fix: Added save_load to squarcb (#2988)
733548daa style: Use float instead of float ref (#2986)
cd89d7b26 build: [WIP] Enable building C# projects on Windows with CMake (#2929)
6cd559100 style: Give template types more descriptive names (#2984)
7f49e95a0 fix: Add read_line_json_s function taking line length (#2968)
549ebcdeb refactor: Support const iterators to feature groups (#2972)
5d86cafa4 refactor: Do not use cstyle casts (guideline 16) (#2981)
1c31f950d fix: Unify duplicated error code headers (#2978)
4f0fe622f fix: use nullptr instead of NULL (#2980)
4eeecd343 fix: Avoid float to double promotion by using C++ version of math functions (#2979)
e3769cf09 Fixing json parse issue when pdrop is 0 (#2977)
89a7fe1b2 fix: fixes for headers not including things they need (#2974)
b1f853988 refactor: Remove unused foreach_feature func (#2973)

* add cb-loop to example_gen and make it accept a config file (#322)

* Gets CMake working on Windows (#320)

* Also enables building dotnet bindings via CMake on Windows

* [Binary parser] add test that compares json and fb joined logs's outputs (#323)

* mac ci: continue on error true (#327)

ignoring until #300 is fixed or we figure out why commit 13950d0 started consistently failing on mac ci.

* update vw to 8a24c1b4e (#324)

8a24c1b4e fix: [metrics] account for label action not predicted (#3004)
7b490aecc fix: cb_explore_adf_first.cc save_load (#2997)
b5939a84b Update dev environment to use new image (#3001)
97e137989 refactor: [metrics] cb_explore_adf optional metrics (#2998)
060c4c01f fix: keep gamm_exponent in squarecb (#2999)
7a495295f fix: [metrics] add missing ccb tests (#2996)

* [binary parser] set build default to release (#325)

* add file format to README (#329)

* Enable import of native msbuild projects into CMake-generated solution (#332)

* Enable native VS .NET projects in CMake generated sln
* Add utility target to launch VS with CMake build environment
* Fix target file location for rltest-onnx

* more info in README for binary parser (#334)

* Python binding overhaul, automatic binary and documentation generation (#330)

* WIP python bindings

* rl static deps

* update args

* update ci

* update build image

* remove other platforms for now

* add docs section

* Write migration guide

* rename from main to py_api.cc

* remove swig pieces

* migrate examples

* add build to ignore

* More updates

* Remove unnecessary bits of conf

* remove duplicated add_subdirectory

* Default static deps to off

* test ci

* fetch submodules

* fix doc gen

* Update build_python_wheels.yml

* Update build_python_wheels.yml

* Fix examples

* Support additional cmake args

* Add stats log replay tool. (#331)

* Add stats log replay tool.

* Simplify data loading and add documentation.

* feat: Generate and upload docs for every commit (#336)

* supply SPHINXBUILD to python doc builder ci (#339)

* ci: Another fix for doc building (#340)

* Ataymano/multistep joiner (#341)

* update vw version (#338)

dsjson parsing will now skip malformed lines instead of throwing exception. Run with --strict_parse to throw instead of skip.

commits:
04d218b fix: [metrics] set to zero (#3035)
860c525 feat: [metrics] cb_explore_adf additional metrics (#3032)
110a3e4 feat: [py] DFtoVW -> Add weight attribute to SimpleLabel (#3033)
b7625e8 feat: Create class to manage dual indexing of feature_groups (#3029)
6335dd1 refactor: Avoid v_array copies (#3030)
3df4973 feat: add flag to limit log output (#3021)
888e6f7 refactor: cb_explore_pdf (#3026)
99c645b feat: [py] Add contextual bandit label to DFtoVW (#2713)
3089e1b feat: add generic_range adapter class (#3025)
001cbb4 refactor: cb_explore_adf_synthcover (#3024)
f1fab51 refactor: cb_explore_adf_greedy (#3023)
21e9f8b fix: set default learn_returns_prediction to false, refactor cover (#3017)
9abf890 feat: [py] add api for learner metrics (#3022)
eb56eb7 refactor: Non printable namespaces should not be wildcard expanded (#3020)
fbe1e6b feat: [dsjson] Malformed lines are now skipped instead of being fatal (#3007)
4781c28 refactor: CCB participates in interaction reduction expansion (#3013)
613c93c refactor: cb_explore_adf_bag.cc make_reduction_learner (#3016)
a361623 refactor: refactor cb_explore_adf_rnd.cc with make_reduction_learner (#3014)
6ece769 refactor: cb_explore_adf_softmax.cc with make_reduction_learner (#3015)
c7ea383 refactor: eval_count_of_generated_ft PR follow up (#3011)
88b0eaf fix: refactor cb_explore_adf_first (#3012)
62bc992 fix: Refactor regcb with make_reduction_learner (#3010)
d0727e7 fix: Refactor squarecb with make_reduction_learner (#3009)
72c1db6 fix: warning for const qualifier on reference type (#3008)
26ada35 feat: support cached interaction expansion as a reduction (#2993)
17953f7 fix: regcb save_load and keep mellowness (#3006)
bf2162e fix: remove non printable ascii char from tests (#3005)

* Add skip learn logic to binary file parser (#333)

* Add skip learn logic to binary file parser

* fix: make launch_vs command set envvars correctly (#335)

The previous version of this was setting the BaseOutputFolder (which is changed under CMake when building DotNet bindings to ensure that native dlls are next to the managed dlls that require them) with quotes inside the variable. The fix is to quote the full set arg, so that quotes are not included in the value.

* [Binary parser] refactoring to make room for more loop types (#343)

* ci: Restrict ci to run only on master or release branches or all PRs (#344)

* [Binary parser] More refactoring and some initial ccb parsing (#345)

* vw pdrop hotfix pickup (#349)

* Add appid to event metadata for V2 schema (generic_event only)  (#337)

* Skip learn metrics (#346)

* Skip learn metrics

* [Binary parser] ccb parsing (#347)

* Updating VW from dbf5ae7ca to aaabadd9b (#350)

Co-authored-by: irvinec <caseyi@outlook.com>

* call c_str() safely (#354)

* Update bin log spec (#357)

* fix small bugs

* Handle file header and magic as messages and allow them at any point in the stream.

* Ignore events if no checkpoint info is available.

* Fix test suite.

* Remove binary_parser::read_magic as it's no longer used by parse_examples.

* Add tests for support of message reordering.

This adds new tool `log_gen` that takes a string and output a log
with the set of messages as defined in it. This was used to cook the
test files used in the test suite.

* Move config readiness to i_joiner.

* fix style and add documentation.

* converter to skip learning (#358)

Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* Support file format update. (#359)

* [binary-log] Add CLI override to checkpoint parameters. (#360)

CLI overrides must be sticky to be useful, so we introduce the notion of
sticky values that once set, can't be modified.

This is done by having a sticky_value<T> container in which the setter
takes an argument which controls the stickyness of the value. This way
we can use it for both CLI sources and file sources.

* Fix default case warning.

* Fix python build doc.

* Fix two issues that slipped into master by accident. (#362)

* Updating VW commit from aaabadd to ecadd8d (#363)

From commit aaabadd9b9af5d9970b08bfc7999a3382b6e6dc5
To commit ecadd8d8b622a74e4deed519e04ffe92ce4a9892

ecadd8d8b fix: Multiline Example handling when in multi-pass mode (#3143)
473f06263 test: get type information of VW options (#3142)
b5782bcae fix: Fix CB label caching (#3141)
24a2434ac refactor: return ScoredDual with bound (#3121)
a1b885252 test: update runtests.AUTOGEN.json (#3140)
fb1a5a817 refactor: remove all usages of delete_v and deprecate (#3138)
237e0f799 refactor: Don't use a shared ptr for audit (#3134)
9821ab91f refactor: deprecate some v_array functions (#3136)
7958d62dc refactor: use destructor to manage memory (#3131)
f2bd8e5e7 refactor: remove all usages of v_init and deprecate (#3135)
9c2ef84f2 refactor: simplify search memory management (#3132)
e1bef6108 ci: lock to specific version of google test in benchmark CI (#3137)
b8ed478a9 refactor: do not need to call delete_v anymore (#3130)
b2b7c9aeb fix: [Python] Fix default parameter convert_labels in sklearn_vw.VWRegressor (#3129)
86c374643 refactor: deprecate ezexample (#3128)
723743a05 fix: cats getting stuck to predicting tree edges for some bandwidths (#3114)
e0733c422 fix: use nullptr ostream when quiet is on (#3119)
863eee1a5 fix: fix two compiler warnings (#3123)
ec0accec9 fix: Check label type for shared features, Resolves #3088 (#3120)
b7d41f9b3 fix: [cb_to_cb_adf] multiple costs in label (#3126)
b06f76788 test: add to cmakelists unit test for cb_dro (#3117)
49fb54207 ci: Build docs as part of CI (#3090)
19c2031bc build: MSVC check must be done before project call (#3113)
16562d846 chore: Update deprecations to be explicit about 9.0 release (#3103)
e539f3c7d fix: setup_example should not be called twice on the same example (#3115)
eddadc095 fix: [DFtoVW] Fix issue with nan/None in feature (#3109)
ad39f4262 ci: Add Python type checking (#3105)
26442043b test: [py] fix seed for sim test (#3101)
6e052afbf feat: add learner builder for no-data learners (#3100)
57affdc57 chore: add deprecation notice for #3084 feature_self_interactions (#3099)
9241c148a refactor: remove cast in slim tests (#3098)
28fc4baec test: add tests for namespaces with same first letter (#3096)
becb082a2 feat: [Tutorial] Using DFtoVW and exploring VW output (#3068)
7f62d9fb4 chore: fix deprecation issue template (#3092)
3e7d62d61 test: [py] fix random failure by lowering value (#3089)
4ee7d96a9 chore: add requirements file to be used by binder (#3087)
3babe2213 feat: add chained_proxy_iterator to make it easier to iterate entire namespace index groups (#3076)
c7ff60303 refactor: Fix unnecessary usages of char* (#3085)
5c8fd55bc chore: Add deprecation template (#3028)
258e89f2c feat: [pyvw] Get weight from name (#3042)
4aa7728cc feat: add cb benchmark with more features (#3080)
ed13b81c9 fix: fix gdb pretty printer (#3079)


Co-authored-by: irvinec <caseyi@outlook.com>

* Fix episodic python binding.

Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Alexey Taymanov <41013086+ataymano@users.noreply.github.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Sheetal Lahabar <lamadh@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: irvinec <caseyi@outlook.com>
zwd-ms added a commit to zwd-ms/reinforcement_learning that referenced this pull request Oct 27, 2021
* update vw version (VowpalWabbit#307)

* fb to dsjson log converter (VowpalWabbit#303)

* Add fb to dsjson joined log converter as an option of parser

* [binary parser] simple e2e test for metrics (VowpalWabbit#309)

- only for linux

* Fix bug with CB action with _slot_id breaking hard rl.net.cli in sim mode. (VowpalWabbit#310)

* [Binary parser] more error handling and logging (VowpalWabbit#311)

* [Binary parser] refactor reward related structs and methods (VowpalWabbit#314)

* Ataymano/i joiner (VowpalWabbit#315)

* refactor reward related structs and methods

* fix header imports

* i_joiner interface

* initialize parser from i_joiner*

* virtual -> override

* unique_ptr<i_joiner>&& as init arg

* fixes

Co-authored-by: Olga Vrousgou <olgavrou@gmail.com>

* [Binary parser] fix reward setting bugs (VowpalWabbit#316)

* update vw to 15c197 (VowpalWabbit#318)

- update header that got removed on vw
- update signature of metrics from tuple to pair
- this will enable --dsjson --extra_metrics

changes from VW:
15c197975 fix: bfgs preconditioner, Resolves #2745 (#2995)
98876a2ff feat: [metrics] add optional metrics for --dsjson (#2992)
462b4c82f feat: [metrics] add support for float (#2991)
b250d8565 refactor: Integrate count and sum feat sq into the interaction generation routine (#2987)
a7891c9a6 fix: Added save_load to squarcb (#2988)
733548daa style: Use float instead of float ref (#2986)
cd89d7b26 build: [WIP] Enable building C# projects on Windows with CMake (#2929)
6cd559100 style: Give template types more descriptive names (#2984)
7f49e95a0 fix: Add read_line_json_s function taking line length (#2968)
549ebcdeb refactor: Support const iterators to feature groups (#2972)
5d86cafa4 refactor: Do not use cstyle casts (guideline 16) (#2981)
1c31f950d fix: Unify duplicated error code headers (#2978)
4f0fe622f fix: use nullptr instead of NULL (#2980)
4eeecd343 fix: Avoid float to double promotion by using C++ version of math functions (#2979)
e3769cf09 Fixing json parse issue when pdrop is 0 (#2977)
89a7fe1b2 fix: fixes for headers not including things they need (#2974)
b1f853988 refactor: Remove unused foreach_feature func (#2973)

* add cb-loop to example_gen and make it accept a config file (VowpalWabbit#322)

* Gets CMake working on Windows (VowpalWabbit#320)

* Also enables building dotnet bindings via CMake on Windows

* [Binary parser] add test that compares json and fb joined logs's outputs (VowpalWabbit#323)

* mac ci: continue on error true (VowpalWabbit#327)

ignoring until VowpalWabbit#300 is fixed or we figure out why commit 13950d0 started consistently failing on mac ci.

* update vw to 8a24c1b4e (VowpalWabbit#324)

8a24c1b4e fix: [metrics] account for label action not predicted (#3004)
7b490aecc fix: cb_explore_adf_first.cc save_load (#2997)
b5939a84b Update dev environment to use new image (#3001)
97e137989 refactor: [metrics] cb_explore_adf optional metrics (#2998)
060c4c01f fix: keep gamm_exponent in squarecb (#2999)
7a495295f fix: [metrics] add missing ccb tests (#2996)

* [binary parser] set build default to release (VowpalWabbit#325)

* add file format to README (VowpalWabbit#329)

* Enable import of native msbuild projects into CMake-generated solution (VowpalWabbit#332)

* Enable native VS .NET projects in CMake generated sln
* Add utility target to launch VS with CMake build environment
* Fix target file location for rltest-onnx

* more info in README for binary parser (VowpalWabbit#334)

* Python binding overhaul, automatic binary and documentation generation (VowpalWabbit#330)

* WIP python bindings

* rl static deps

* update args

* update ci

* update build image

* remove other platforms for now

* add docs section

* Write migration guide

* rename from main to py_api.cc

* remove swig pieces

* migrate examples

* add build to ignore

* More updates

* Remove unnecessary bits of conf

* remove duplicated add_subdirectory

* Default static deps to off

* test ci

* fetch submodules

* fix doc gen

* Update build_python_wheels.yml

* Update build_python_wheels.yml

* Fix examples

* Support additional cmake args

* Add stats log replay tool. (VowpalWabbit#331)

* Add stats log replay tool.

* Simplify data loading and add documentation.

* feat: Generate and upload docs for every commit (VowpalWabbit#336)

* supply SPHINXBUILD to python doc builder ci (VowpalWabbit#339)

* ci: Another fix for doc building (VowpalWabbit#340)

* Ataymano/multistep joiner (VowpalWabbit#341)

* update vw version (VowpalWabbit#338)

dsjson parsing will now skip malformed lines instead of throwing exception. Run with --strict_parse to throw instead of skip.

commits:
04d218b fix: [metrics] set to zero (#3035)
860c525 feat: [metrics] cb_explore_adf additional metrics (#3032)
110a3e4 feat: [py] DFtoVW -> Add weight attribute to SimpleLabel (#3033)
b7625e8 feat: Create class to manage dual indexing of feature_groups (#3029)
6335dd1 refactor: Avoid v_array copies (#3030)
3df4973 feat: add flag to limit log output (#3021)
888e6f7 refactor: cb_explore_pdf (#3026)
99c645b feat: [py] Add contextual bandit label to DFtoVW (#2713)
3089e1b feat: add generic_range adapter class (#3025)
001cbb4 refactor: cb_explore_adf_synthcover (#3024)
f1fab51 refactor: cb_explore_adf_greedy (#3023)
21e9f8b fix: set default learn_returns_prediction to false, refactor cover (#3017)
9abf890 feat: [py] add api for learner metrics (#3022)
eb56eb7 refactor: Non printable namespaces should not be wildcard expanded (#3020)
fbe1e6b feat: [dsjson] Malformed lines are now skipped instead of being fatal (#3007)
4781c28 refactor: CCB participates in interaction reduction expansion (#3013)
613c93c refactor: cb_explore_adf_bag.cc make_reduction_learner (#3016)
a361623 refactor: refactor cb_explore_adf_rnd.cc with make_reduction_learner (#3014)
6ece769 refactor: cb_explore_adf_softmax.cc with make_reduction_learner (#3015)
c7ea383 refactor: eval_count_of_generated_ft PR follow up (#3011)
88b0eaf fix: refactor cb_explore_adf_first (#3012)
62bc992 fix: Refactor regcb with make_reduction_learner (#3010)
d0727e7 fix: Refactor squarecb with make_reduction_learner (#3009)
72c1db6 fix: warning for const qualifier on reference type (#3008)
26ada35 feat: support cached interaction expansion as a reduction (#2993)
17953f7 fix: regcb save_load and keep mellowness (#3006)
bf2162e fix: remove non printable ascii char from tests (#3005)

* Add skip learn logic to binary file parser (VowpalWabbit#333)

* Add skip learn logic to binary file parser

* fix: make launch_vs command set envvars correctly (VowpalWabbit#335)

The previous version of this was setting the BaseOutputFolder (which is changed under CMake when building DotNet bindings to ensure that native dlls are next to the managed dlls that require them) with quotes inside the variable. The fix is to quote the full set arg, so that quotes are not included in the value.

* [Binary parser] refactoring to make room for more loop types (VowpalWabbit#343)

* ci: Restrict ci to run only on master or release branches or all PRs (VowpalWabbit#344)

* [Binary parser] More refactoring and some initial ccb parsing (VowpalWabbit#345)

* vw pdrop hotfix pickup (VowpalWabbit#349)

* Add appid to event metadata for V2 schema (generic_event only)  (VowpalWabbit#337)

* Skip learn metrics (VowpalWabbit#346)

* Skip learn metrics

* [Binary parser] ccb parsing (VowpalWabbit#347)

* Updating VW from dbf5ae7ca to aaabadd9b (VowpalWabbit#350)

Co-authored-by: irvinec <caseyi@outlook.com>

* call c_str() safely (VowpalWabbit#354)

* Update bin log spec (VowpalWabbit#357)

* fix small bugs

* Handle file header and magic as messages and allow them at any point in the stream.

* Ignore events if no checkpoint info is available.

* Fix test suite.

* Remove binary_parser::read_magic as it's no longer used by parse_examples.

* Add tests for support of message reordering.

This adds new tool `log_gen` that takes a string and output a log
with the set of messages as defined in it. This was used to cook the
test files used in the test suite.

* Move config readiness to i_joiner.

* fix style and add documentation.

* converter to skip learning (VowpalWabbit#358)

Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* Support file format update. (VowpalWabbit#359)

* [binary-log] Add CLI override to checkpoint parameters. (VowpalWabbit#360)

CLI overrides must be sticky to be useful, so we introduce the notion of
sticky values that once set, can't be modified.

This is done by having a sticky_value<T> container in which the setter
takes an argument which controls the stickyness of the value. This way
we can use it for both CLI sources and file sources.

* Fix default case warning.

* Fix python build doc.

* Fix two issues that slipped into master by accident. (VowpalWabbit#362)

* Updating VW commit from aaabadd to ecadd8d (VowpalWabbit#363)

From commit aaabadd9b9af5d9970b08bfc7999a3382b6e6dc5
To commit ecadd8d8b622a74e4deed519e04ffe92ce4a9892

ecadd8d8b fix: Multiline Example handling when in multi-pass mode (#3143)
473f06263 test: get type information of VW options (#3142)
b5782bcae fix: Fix CB label caching (#3141)
24a2434ac refactor: return ScoredDual with bound (#3121)
a1b885252 test: update runtests.AUTOGEN.json (#3140)
fb1a5a817 refactor: remove all usages of delete_v and deprecate (#3138)
237e0f799 refactor: Don't use a shared ptr for audit (#3134)
9821ab91f refactor: deprecate some v_array functions (#3136)
7958d62dc refactor: use destructor to manage memory (#3131)
f2bd8e5e7 refactor: remove all usages of v_init and deprecate (#3135)
9c2ef84f2 refactor: simplify search memory management (#3132)
e1bef6108 ci: lock to specific version of google test in benchmark CI (#3137)
b8ed478a9 refactor: do not need to call delete_v anymore (#3130)
b2b7c9aeb fix: [Python] Fix default parameter convert_labels in sklearn_vw.VWRegressor (#3129)
86c374643 refactor: deprecate ezexample (#3128)
723743a05 fix: cats getting stuck to predicting tree edges for some bandwidths (#3114)
e0733c422 fix: use nullptr ostream when quiet is on (#3119)
863eee1a5 fix: fix two compiler warnings (#3123)
ec0accec9 fix: Check label type for shared features, Resolves #3088 (#3120)
b7d41f9b3 fix: [cb_to_cb_adf] multiple costs in label (#3126)
b06f76788 test: add to cmakelists unit test for cb_dro (#3117)
49fb54207 ci: Build docs as part of CI (#3090)
19c2031bc build: MSVC check must be done before project call (#3113)
16562d846 chore: Update deprecations to be explicit about 9.0 release (#3103)
e539f3c7d fix: setup_example should not be called twice on the same example (#3115)
eddadc095 fix: [DFtoVW] Fix issue with nan/None in feature (#3109)
ad39f4262 ci: Add Python type checking (#3105)
26442043b test: [py] fix seed for sim test (#3101)
6e052afbf feat: add learner builder for no-data learners (#3100)
57affdc57 chore: add deprecation notice for #3084 feature_self_interactions (#3099)
9241c148a refactor: remove cast in slim tests (#3098)
28fc4baec test: add tests for namespaces with same first letter (#3096)
becb082a2 feat: [Tutorial] Using DFtoVW and exploring VW output (#3068)
7f62d9fb4 chore: fix deprecation issue template (#3092)
3e7d62d61 test: [py] fix random failure by lowering value (#3089)
4ee7d96a9 chore: add requirements file to be used by binder (#3087)
3babe2213 feat: add chained_proxy_iterator to make it easier to iterate entire namespace index groups (#3076)
c7ff60303 refactor: Fix unnecessary usages of char* (#3085)
5c8fd55bc chore: Add deprecation template (#3028)
258e89f2c feat: [pyvw] Get weight from name (#3042)
4aa7728cc feat: add cb benchmark with more features (#3080)
ed13b81c9 fix: fix gdb pretty printer (#3079)


Co-authored-by: irvinec <caseyi@outlook.com>

* Fix episodic python binding.

Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Alexey Taymanov <41013086+ataymano@users.noreply.github.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Sheetal Lahabar <lamadh@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: irvinec <caseyi@outlook.com>
zwd-ms added a commit to zwd-ms/reinforcement_learning that referenced this pull request Oct 27, 2021
* update vw version (VowpalWabbit#307)

* fb to dsjson log converter (VowpalWabbit#303)

* Add fb to dsjson joined log converter as an option of parser

* [binary parser] simple e2e test for metrics (VowpalWabbit#309)

- only for linux

* Fix bug with CB action with _slot_id breaking hard rl.net.cli in sim mode. (VowpalWabbit#310)

* [Binary parser] more error handling and logging (VowpalWabbit#311)

* [Binary parser] refactor reward related structs and methods (VowpalWabbit#314)

* Ataymano/i joiner (VowpalWabbit#315)

* refactor reward related structs and methods

* fix header imports

* i_joiner interface

* initialize parser from i_joiner*

* virtual -> override

* unique_ptr<i_joiner>&& as init arg

* fixes

Co-authored-by: Olga Vrousgou <olgavrou@gmail.com>

* [Binary parser] fix reward setting bugs (VowpalWabbit#316)

* update vw to 15c197 (VowpalWabbit#318)

- update header that got removed on vw
- update signature of metrics from tuple to pair
- this will enable --dsjson --extra_metrics

changes from VW:
15c197975 fix: bfgs preconditioner, Resolves #2745 (#2995)
98876a2ff feat: [metrics] add optional metrics for --dsjson (#2992)
462b4c82f feat: [metrics] add support for float (#2991)
b250d8565 refactor: Integrate count and sum feat sq into the interaction generation routine (#2987)
a7891c9a6 fix: Added save_load to squarcb (#2988)
733548daa style: Use float instead of float ref (#2986)
cd89d7b26 build: [WIP] Enable building C# projects on Windows with CMake (#2929)
6cd559100 style: Give template types more descriptive names (#2984)
7f49e95a0 fix: Add read_line_json_s function taking line length (#2968)
549ebcdeb refactor: Support const iterators to feature groups (#2972)
5d86cafa4 refactor: Do not use cstyle casts (guideline 16) (#2981)
1c31f950d fix: Unify duplicated error code headers (#2978)
4f0fe622f fix: use nullptr instead of NULL (#2980)
4eeecd343 fix: Avoid float to double promotion by using C++ version of math functions (#2979)
e3769cf09 Fixing json parse issue when pdrop is 0 (#2977)
89a7fe1b2 fix: fixes for headers not including things they need (#2974)
b1f853988 refactor: Remove unused foreach_feature func (#2973)

* add cb-loop to example_gen and make it accept a config file (VowpalWabbit#322)

* Gets CMake working on Windows (VowpalWabbit#320)

* Also enables building dotnet bindings via CMake on Windows

* [Binary parser] add test that compares json and fb joined logs's outputs (VowpalWabbit#323)

* mac ci: continue on error true (VowpalWabbit#327)

ignoring until VowpalWabbit#300 is fixed or we figure out why commit 13950d0 started consistently failing on mac ci.

* update vw to 8a24c1b4e (VowpalWabbit#324)

8a24c1b4e fix: [metrics] account for label action not predicted (#3004)
7b490aecc fix: cb_explore_adf_first.cc save_load (#2997)
b5939a84b Update dev environment to use new image (#3001)
97e137989 refactor: [metrics] cb_explore_adf optional metrics (#2998)
060c4c01f fix: keep gamm_exponent in squarecb (#2999)
7a495295f fix: [metrics] add missing ccb tests (#2996)

* [binary parser] set build default to release (VowpalWabbit#325)

* add file format to README (VowpalWabbit#329)

* Enable import of native msbuild projects into CMake-generated solution (VowpalWabbit#332)

* Enable native VS .NET projects in CMake generated sln
* Add utility target to launch VS with CMake build environment
* Fix target file location for rltest-onnx

* more info in README for binary parser (VowpalWabbit#334)

* Python binding overhaul, automatic binary and documentation generation (VowpalWabbit#330)

* WIP python bindings

* rl static deps

* update args

* update ci

* update build image

* remove other platforms for now

* add docs section

* Write migration guide

* rename from main to py_api.cc

* remove swig pieces

* migrate examples

* add build to ignore

* More updates

* Remove unnecessary bits of conf

* remove duplicated add_subdirectory

* Default static deps to off

* test ci

* fetch submodules

* fix doc gen

* Update build_python_wheels.yml

* Update build_python_wheels.yml

* Fix examples

* Support additional cmake args

* Add stats log replay tool. (VowpalWabbit#331)

* Add stats log replay tool.

* Simplify data loading and add documentation.

* feat: Generate and upload docs for every commit (VowpalWabbit#336)

* supply SPHINXBUILD to python doc builder ci (VowpalWabbit#339)

* ci: Another fix for doc building (VowpalWabbit#340)

* Ataymano/multistep joiner (VowpalWabbit#341)

* update vw version (VowpalWabbit#338)

dsjson parsing will now skip malformed lines instead of throwing exception. Run with --strict_parse to throw instead of skip.

commits:
04d218b fix: [metrics] set to zero (#3035)
860c525 feat: [metrics] cb_explore_adf additional metrics (#3032)
110a3e4 feat: [py] DFtoVW -> Add weight attribute to SimpleLabel (#3033)
b7625e8 feat: Create class to manage dual indexing of feature_groups (#3029)
6335dd1 refactor: Avoid v_array copies (#3030)
3df4973 feat: add flag to limit log output (#3021)
888e6f7 refactor: cb_explore_pdf (#3026)
99c645b feat: [py] Add contextual bandit label to DFtoVW (#2713)
3089e1b feat: add generic_range adapter class (#3025)
001cbb4 refactor: cb_explore_adf_synthcover (#3024)
f1fab51 refactor: cb_explore_adf_greedy (#3023)
21e9f8b fix: set default learn_returns_prediction to false, refactor cover (#3017)
9abf890 feat: [py] add api for learner metrics (#3022)
eb56eb7 refactor: Non printable namespaces should not be wildcard expanded (#3020)
fbe1e6b feat: [dsjson] Malformed lines are now skipped instead of being fatal (#3007)
4781c28 refactor: CCB participates in interaction reduction expansion (#3013)
613c93c refactor: cb_explore_adf_bag.cc make_reduction_learner (#3016)
a361623 refactor: refactor cb_explore_adf_rnd.cc with make_reduction_learner (#3014)
6ece769 refactor: cb_explore_adf_softmax.cc with make_reduction_learner (#3015)
c7ea383 refactor: eval_count_of_generated_ft PR follow up (#3011)
88b0eaf fix: refactor cb_explore_adf_first (#3012)
62bc992 fix: Refactor regcb with make_reduction_learner (#3010)
d0727e7 fix: Refactor squarecb with make_reduction_learner (#3009)
72c1db6 fix: warning for const qualifier on reference type (#3008)
26ada35 feat: support cached interaction expansion as a reduction (#2993)
17953f7 fix: regcb save_load and keep mellowness (#3006)
bf2162e fix: remove non printable ascii char from tests (#3005)

* Add skip learn logic to binary file parser (VowpalWabbit#333)

* Add skip learn logic to binary file parser

* fix: make launch_vs command set envvars correctly (VowpalWabbit#335)

The previous version of this was setting the BaseOutputFolder (which is changed under CMake when building DotNet bindings to ensure that native dlls are next to the managed dlls that require them) with quotes inside the variable. The fix is to quote the full set arg, so that quotes are not included in the value.

* [Binary parser] refactoring to make room for more loop types (VowpalWabbit#343)

* ci: Restrict ci to run only on master or release branches or all PRs (VowpalWabbit#344)

* [Binary parser] More refactoring and some initial ccb parsing (VowpalWabbit#345)

* vw pdrop hotfix pickup (VowpalWabbit#349)

* Add appid to event metadata for V2 schema (generic_event only)  (VowpalWabbit#337)

* Skip learn metrics (VowpalWabbit#346)

* Skip learn metrics

* [Binary parser] ccb parsing (VowpalWabbit#347)

* Updating VW from dbf5ae7ca to aaabadd9b (VowpalWabbit#350)

Co-authored-by: irvinec <caseyi@outlook.com>

* call c_str() safely (VowpalWabbit#354)

* Update bin log spec (VowpalWabbit#357)

* fix small bugs

* Handle file header and magic as messages and allow them at any point in the stream.

* Ignore events if no checkpoint info is available.

* Fix test suite.

* Remove binary_parser::read_magic as it's no longer used by parse_examples.

* Add tests for support of message reordering.

This adds new tool `log_gen` that takes a string and output a log
with the set of messages as defined in it. This was used to cook the
test files used in the test suite.

* Move config readiness to i_joiner.

* fix style and add documentation.

* converter to skip learning (VowpalWabbit#358)

Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* Support file format update. (VowpalWabbit#359)

* [binary-log] Add CLI override to checkpoint parameters. (VowpalWabbit#360)

CLI overrides must be sticky to be useful, so we introduce the notion of
sticky values that once set, can't be modified.

This is done by having a sticky_value<T> container in which the setter
takes an argument which controls the stickyness of the value. This way
we can use it for both CLI sources and file sources.

* Fix default case warning.

* Fix python build doc.

* Fix two issues that slipped into master by accident. (VowpalWabbit#362)

* Updating VW commit from aaabadd to ecadd8d (VowpalWabbit#363)

From commit aaabadd9b9af5d9970b08bfc7999a3382b6e6dc5
To commit ecadd8d8b622a74e4deed519e04ffe92ce4a9892

ecadd8d8b fix: Multiline Example handling when in multi-pass mode (#3143)
473f06263 test: get type information of VW options (#3142)
b5782bcae fix: Fix CB label caching (#3141)
24a2434ac refactor: return ScoredDual with bound (#3121)
a1b885252 test: update runtests.AUTOGEN.json (#3140)
fb1a5a817 refactor: remove all usages of delete_v and deprecate (#3138)
237e0f799 refactor: Don't use a shared ptr for audit (#3134)
9821ab91f refactor: deprecate some v_array functions (#3136)
7958d62dc refactor: use destructor to manage memory (#3131)
f2bd8e5e7 refactor: remove all usages of v_init and deprecate (#3135)
9c2ef84f2 refactor: simplify search memory management (#3132)
e1bef6108 ci: lock to specific version of google test in benchmark CI (#3137)
b8ed478a9 refactor: do not need to call delete_v anymore (#3130)
b2b7c9aeb fix: [Python] Fix default parameter convert_labels in sklearn_vw.VWRegressor (#3129)
86c374643 refactor: deprecate ezexample (#3128)
723743a05 fix: cats getting stuck to predicting tree edges for some bandwidths (#3114)
e0733c422 fix: use nullptr ostream when quiet is on (#3119)
863eee1a5 fix: fix two compiler warnings (#3123)
ec0accec9 fix: Check label type for shared features, Resolves #3088 (#3120)
b7d41f9b3 fix: [cb_to_cb_adf] multiple costs in label (#3126)
b06f76788 test: add to cmakelists unit test for cb_dro (#3117)
49fb54207 ci: Build docs as part of CI (#3090)
19c2031bc build: MSVC check must be done before project call (#3113)
16562d846 chore: Update deprecations to be explicit about 9.0 release (#3103)
e539f3c7d fix: setup_example should not be called twice on the same example (#3115)
eddadc095 fix: [DFtoVW] Fix issue with nan/None in feature (#3109)
ad39f4262 ci: Add Python type checking (#3105)
26442043b test: [py] fix seed for sim test (#3101)
6e052afbf feat: add learner builder for no-data learners (#3100)
57affdc57 chore: add deprecation notice for #3084 feature_self_interactions (#3099)
9241c148a refactor: remove cast in slim tests (#3098)
28fc4baec test: add tests for namespaces with same first letter (#3096)
becb082a2 feat: [Tutorial] Using DFtoVW and exploring VW output (#3068)
7f62d9fb4 chore: fix deprecation issue template (#3092)
3e7d62d61 test: [py] fix random failure by lowering value (#3089)
4ee7d96a9 chore: add requirements file to be used by binder (#3087)
3babe2213 feat: add chained_proxy_iterator to make it easier to iterate entire namespace index groups (#3076)
c7ff60303 refactor: Fix unnecessary usages of char* (#3085)
5c8fd55bc chore: Add deprecation template (#3028)
258e89f2c feat: [pyvw] Get weight from name (#3042)
4aa7728cc feat: add cb benchmark with more features (#3080)
ed13b81c9 fix: fix gdb pretty printer (#3079)


Co-authored-by: irvinec <caseyi@outlook.com>

* Fix episodic python binding.

Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Alexey Taymanov <41013086+ataymano@users.noreply.github.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Sheetal Lahabar <lamadh@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: irvinec <caseyi@outlook.com>
zwd-ms added a commit that referenced this pull request Jan 21, 2022
* multistep feature branch (#286)

* new schemas

* windows build fix

* generic event

* add payload to generic event

* generic event logger

* v2 loggers init

* payload move

* payload serialization stubs

* offsets cleanup

* cb payload serialization

* spacing cleanup

* outcome event payload serialization

* ccb payload serialization

* slates payload serialization

* payload ownership fix

* ccb outcome

* naming cleanup

* spacing cleanup

* redundant moves cleanup

* cleanup

* multistep event schema

* cb logger facade interface cleanup

* dummy multistep interaction support

* buildable multistep

* merge fix

* cleanup

* basic_usage fix

* multistep choose_rank method

* request_episodic_decision fix

* multistep outcome type fix

* inference fix

* 2 episodes in basic_usage

* multistep logging cleanup

* episode interface cleanup

* history interface fix

* dirty baseline multistep inference

* build fix

* build fix

* build fix

* basic_usage_cpp build fix

* delete .orig files

* Expose multistep api to python. Add an example. (#312)

* Add multistep loops to testcpp. (#352)

* Fix multithreading.

* Refactor to introduce multistep loop kind.

* Add multistep loop to testcpp.

* [Multistep] Win build fix (#353)

* rlclientlib.vcxproj fix

* test_cpp.vcxproj fix

Co-authored-by: ataymano@microsoft.com <Alexey Taymanov>

* multistep mode in rl_sim (#355)

Co-authored-by: ataymano@microsoft.com <Alexey Taymanov>

* Fix style.

* Fix unit test failures casued by i_model mock. (#364)

* [multistep] Merge master and fix python binding. (#365)

* update vw version (#307)

* fb to dsjson log converter (#303)

* Add fb to dsjson joined log converter as an option of parser

* [binary parser] simple e2e test for metrics (#309)

- only for linux

* Fix bug with CB action with _slot_id breaking hard rl.net.cli in sim mode. (#310)

* [Binary parser] more error handling and logging (#311)

* [Binary parser] refactor reward related structs and methods (#314)

* Ataymano/i joiner (#315)

* refactor reward related structs and methods

* fix header imports

* i_joiner interface

* initialize parser from i_joiner*

* virtual -> override

* unique_ptr<i_joiner>&& as init arg

* fixes

Co-authored-by: Olga Vrousgou <olgavrou@gmail.com>

* [Binary parser] fix reward setting bugs (#316)

* update vw to 15c197 (#318)

- update header that got removed on vw
- update signature of metrics from tuple to pair
- this will enable --dsjson --extra_metrics

changes from VW:
15c197975 fix: bfgs preconditioner, Resolves #2745 (#2995)
98876a2ff feat: [metrics] add optional metrics for --dsjson (#2992)
462b4c82f feat: [metrics] add support for float (#2991)
b250d8565 refactor: Integrate count and sum feat sq into the interaction generation routine (#2987)
a7891c9a6 fix: Added save_load to squarcb (#2988)
733548daa style: Use float instead of float ref (#2986)
cd89d7b26 build: [WIP] Enable building C# projects on Windows with CMake (#2929)
6cd559100 style: Give template types more descriptive names (#2984)
7f49e95a0 fix: Add read_line_json_s function taking line length (#2968)
549ebcdeb refactor: Support const iterators to feature groups (#2972)
5d86cafa4 refactor: Do not use cstyle casts (guideline 16) (#2981)
1c31f950d fix: Unify duplicated error code headers (#2978)
4f0fe622f fix: use nullptr instead of NULL (#2980)
4eeecd343 fix: Avoid float to double promotion by using C++ version of math functions (#2979)
e3769cf09 Fixing json parse issue when pdrop is 0 (#2977)
89a7fe1b2 fix: fixes for headers not including things they need (#2974)
b1f853988 refactor: Remove unused foreach_feature func (#2973)

* add cb-loop to example_gen and make it accept a config file (#322)

* Gets CMake working on Windows (#320)

* Also enables building dotnet bindings via CMake on Windows

* [Binary parser] add test that compares json and fb joined logs's outputs (#323)

* mac ci: continue on error true (#327)

ignoring until #300 is fixed or we figure out why commit 13950d0 started consistently failing on mac ci.

* update vw to 8a24c1b4e (#324)

8a24c1b4e fix: [metrics] account for label action not predicted (#3004)
7b490aecc fix: cb_explore_adf_first.cc save_load (#2997)
b5939a84b Update dev environment to use new image (#3001)
97e137989 refactor: [metrics] cb_explore_adf optional metrics (#2998)
060c4c01f fix: keep gamm_exponent in squarecb (#2999)
7a495295f fix: [metrics] add missing ccb tests (#2996)

* [binary parser] set build default to release (#325)

* add file format to README (#329)

* Enable import of native msbuild projects into CMake-generated solution (#332)

* Enable native VS .NET projects in CMake generated sln
* Add utility target to launch VS with CMake build environment
* Fix target file location for rltest-onnx

* more info in README for binary parser (#334)

* Python binding overhaul, automatic binary and documentation generation (#330)

* WIP python bindings

* rl static deps

* update args

* update ci

* update build image

* remove other platforms for now

* add docs section

* Write migration guide

* rename from main to py_api.cc

* remove swig pieces

* migrate examples

* add build to ignore

* More updates

* Remove unnecessary bits of conf

* remove duplicated add_subdirectory

* Default static deps to off

* test ci

* fetch submodules

* fix doc gen

* Update build_python_wheels.yml

* Update build_python_wheels.yml

* Fix examples

* Support additional cmake args

* Add stats log replay tool. (#331)

* Add stats log replay tool.

* Simplify data loading and add documentation.

* feat: Generate and upload docs for every commit (#336)

* supply SPHINXBUILD to python doc builder ci (#339)

* ci: Another fix for doc building (#340)

* Ataymano/multistep joiner (#341)

* update vw version (#338)

dsjson parsing will now skip malformed lines instead of throwing exception. Run with --strict_parse to throw instead of skip.

commits:
04d218b fix: [metrics] set to zero (#3035)
860c525 feat: [metrics] cb_explore_adf additional metrics (#3032)
110a3e4 feat: [py] DFtoVW -> Add weight attribute to SimpleLabel (#3033)
b7625e8 feat: Create class to manage dual indexing of feature_groups (#3029)
6335dd1 refactor: Avoid v_array copies (#3030)
3df4973 feat: add flag to limit log output (#3021)
888e6f7 refactor: cb_explore_pdf (#3026)
99c645b feat: [py] Add contextual bandit label to DFtoVW (#2713)
3089e1b feat: add generic_range adapter class (#3025)
001cbb4 refactor: cb_explore_adf_synthcover (#3024)
f1fab51 refactor: cb_explore_adf_greedy (#3023)
21e9f8b fix: set default learn_returns_prediction to false, refactor cover (#3017)
9abf890 feat: [py] add api for learner metrics (#3022)
eb56eb7 refactor: Non printable namespaces should not be wildcard expanded (#3020)
fbe1e6b feat: [dsjson] Malformed lines are now skipped instead of being fatal (#3007)
4781c28 refactor: CCB participates in interaction reduction expansion (#3013)
613c93c refactor: cb_explore_adf_bag.cc make_reduction_learner (#3016)
a361623 refactor: refactor cb_explore_adf_rnd.cc with make_reduction_learner (#3014)
6ece769 refactor: cb_explore_adf_softmax.cc with make_reduction_learner (#3015)
c7ea383 refactor: eval_count_of_generated_ft PR follow up (#3011)
88b0eaf fix: refactor cb_explore_adf_first (#3012)
62bc992 fix: Refactor regcb with make_reduction_learner (#3010)
d0727e7 fix: Refactor squarecb with make_reduction_learner (#3009)
72c1db6 fix: warning for const qualifier on reference type (#3008)
26ada35 feat: support cached interaction expansion as a reduction (#2993)
17953f7 fix: regcb save_load and keep mellowness (#3006)
bf2162e fix: remove non printable ascii char from tests (#3005)

* Add skip learn logic to binary file parser (#333)

* Add skip learn logic to binary file parser

* fix: make launch_vs command set envvars correctly (#335)

The previous version of this was setting the BaseOutputFolder (which is changed under CMake when building DotNet bindings to ensure that native dlls are next to the managed dlls that require them) with quotes inside the variable. The fix is to quote the full set arg, so that quotes are not included in the value.

* [Binary parser] refactoring to make room for more loop types (#343)

* ci: Restrict ci to run only on master or release branches or all PRs (#344)

* [Binary parser] More refactoring and some initial ccb parsing (#345)

* vw pdrop hotfix pickup (#349)

* Add appid to event metadata for V2 schema (generic_event only)  (#337)

* Skip learn metrics (#346)

* Skip learn metrics

* [Binary parser] ccb parsing (#347)

* Updating VW from dbf5ae7ca to aaabadd9b (#350)

Co-authored-by: irvinec <caseyi@outlook.com>

* call c_str() safely (#354)

* Update bin log spec (#357)

* fix small bugs

* Handle file header and magic as messages and allow them at any point in the stream.

* Ignore events if no checkpoint info is available.

* Fix test suite.

* Remove binary_parser::read_magic as it's no longer used by parse_examples.

* Add tests for support of message reordering.

This adds new tool `log_gen` that takes a string and output a log
with the set of messages as defined in it. This was used to cook the
test files used in the test suite.

* Move config readiness to i_joiner.

* fix style and add documentation.

* converter to skip learning (#358)

Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* Support file format update. (#359)

* [binary-log] Add CLI override to checkpoint parameters. (#360)

CLI overrides must be sticky to be useful, so we introduce the notion of
sticky values that once set, can't be modified.

This is done by having a sticky_value<T> container in which the setter
takes an argument which controls the stickyness of the value. This way
we can use it for both CLI sources and file sources.

* Fix default case warning.

* Fix python build doc.

* Fix two issues that slipped into master by accident. (#362)

* Updating VW commit from aaabadd to ecadd8d (#363)

From commit aaabadd9b9af5d9970b08bfc7999a3382b6e6dc5
To commit ecadd8d8b622a74e4deed519e04ffe92ce4a9892

ecadd8d8b fix: Multiline Example handling when in multi-pass mode (#3143)
473f06263 test: get type information of VW options (#3142)
b5782bcae fix: Fix CB label caching (#3141)
24a2434ac refactor: return ScoredDual with bound (#3121)
a1b885252 test: update runtests.AUTOGEN.json (#3140)
fb1a5a817 refactor: remove all usages of delete_v and deprecate (#3138)
237e0f799 refactor: Don't use a shared ptr for audit (#3134)
9821ab91f refactor: deprecate some v_array functions (#3136)
7958d62dc refactor: use destructor to manage memory (#3131)
f2bd8e5e7 refactor: remove all usages of v_init and deprecate (#3135)
9c2ef84f2 refactor: simplify search memory management (#3132)
e1bef6108 ci: lock to specific version of google test in benchmark CI (#3137)
b8ed478a9 refactor: do not need to call delete_v anymore (#3130)
b2b7c9aeb fix: [Python] Fix default parameter convert_labels in sklearn_vw.VWRegressor (#3129)
86c374643 refactor: deprecate ezexample (#3128)
723743a05 fix: cats getting stuck to predicting tree edges for some bandwidths (#3114)
e0733c422 fix: use nullptr ostream when quiet is on (#3119)
863eee1a5 fix: fix two compiler warnings (#3123)
ec0accec9 fix: Check label type for shared features, Resolves #3088 (#3120)
b7d41f9b3 fix: [cb_to_cb_adf] multiple costs in label (#3126)
b06f76788 test: add to cmakelists unit test for cb_dro (#3117)
49fb54207 ci: Build docs as part of CI (#3090)
19c2031bc build: MSVC check must be done before project call (#3113)
16562d846 chore: Update deprecations to be explicit about 9.0 release (#3103)
e539f3c7d fix: setup_example should not be called twice on the same example (#3115)
eddadc095 fix: [DFtoVW] Fix issue with nan/None in feature (#3109)
ad39f4262 ci: Add Python type checking (#3105)
26442043b test: [py] fix seed for sim test (#3101)
6e052afbf feat: add learner builder for no-data learners (#3100)
57affdc57 chore: add deprecation notice for #3084 feature_self_interactions (#3099)
9241c148a refactor: remove cast in slim tests (#3098)
28fc4baec test: add tests for namespaces with same first letter (#3096)
becb082a2 feat: [Tutorial] Using DFtoVW and exploring VW output (#3068)
7f62d9fb4 chore: fix deprecation issue template (#3092)
3e7d62d61 test: [py] fix random failure by lowering value (#3089)
4ee7d96a9 chore: add requirements file to be used by binder (#3087)
3babe2213 feat: add chained_proxy_iterator to make it easier to iterate entire namespace index groups (#3076)
c7ff60303 refactor: Fix unnecessary usages of char* (#3085)
5c8fd55bc chore: Add deprecation template (#3028)
258e89f2c feat: [pyvw] Get weight from name (#3042)
4aa7728cc feat: add cb benchmark with more features (#3080)
ed13b81c9 fix: fix gdb pretty printer (#3079)


Co-authored-by: irvinec <caseyi@outlook.com>

* Fix episodic python binding.

Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Alexey Taymanov <41013086+ataymano@users.noreply.github.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Sheetal Lahabar <lamadh@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: irvinec <caseyi@outlook.com>

* multistep feature branch (#286)

* new schemas

* windows build fix

* generic event

* add payload to generic event

* generic event logger

* v2 loggers init

* payload move

* payload serialization stubs

* offsets cleanup

* cb payload serialization

* spacing cleanup

* outcome event payload serialization

* ccb payload serialization

* slates payload serialization

* payload ownership fix

* ccb outcome

* naming cleanup

* spacing cleanup

* redundant moves cleanup

* cleanup

* multistep event schema

* cb logger facade interface cleanup

* dummy multistep interaction support

* buildable multistep

* merge fix

* cleanup

* basic_usage fix

* multistep choose_rank method

* request_episodic_decision fix

* multistep outcome type fix

* inference fix

* 2 episodes in basic_usage

* multistep logging cleanup

* episode interface cleanup

* history interface fix

* dirty baseline multistep inference

* build fix

* build fix

* build fix

* basic_usage_cpp build fix

* delete .orig files

* Expose multistep api to python. Add an example. (#312)

* Add multistep loops to testcpp. (#352)

* Fix multithreading.

* Refactor to introduce multistep loop kind.

* Add multistep loop to testcpp.

* [Multistep] Win build fix (#353)

* rlclientlib.vcxproj fix

* test_cpp.vcxproj fix

Co-authored-by: ataymano@microsoft.com <Alexey Taymanov>

* multistep mode in rl_sim (#355)

Co-authored-by: ataymano@microsoft.com <Alexey Taymanov>

* Fix style.

* Fix unit test failures casued by i_model mock. (#364)

* [multistep] Merge master and fix python binding. (#365)

* update vw version (#307)

* fb to dsjson log converter (#303)

* Add fb to dsjson joined log converter as an option of parser

* [binary parser] simple e2e test for metrics (#309)

- only for linux

* Fix bug with CB action with _slot_id breaking hard rl.net.cli in sim mode. (#310)

* [Binary parser] more error handling and logging (#311)

* [Binary parser] refactor reward related structs and methods (#314)

* Ataymano/i joiner (#315)

* refactor reward related structs and methods

* fix header imports

* i_joiner interface

* initialize parser from i_joiner*

* virtual -> override

* unique_ptr<i_joiner>&& as init arg

* fixes

Co-authored-by: Olga Vrousgou <olgavrou@gmail.com>

* [Binary parser] fix reward setting bugs (#316)

* update vw to 15c197 (#318)

- update header that got removed on vw
- update signature of metrics from tuple to pair
- this will enable --dsjson --extra_metrics

changes from VW:
15c197975 fix: bfgs preconditioner, Resolves #2745 (#2995)
98876a2ff feat: [metrics] add optional metrics for --dsjson (#2992)
462b4c82f feat: [metrics] add support for float (#2991)
b250d8565 refactor: Integrate count and sum feat sq into the interaction generation routine (#2987)
a7891c9a6 fix: Added save_load to squarcb (#2988)
733548daa style: Use float instead of float ref (#2986)
cd89d7b26 build: [WIP] Enable building C# projects on Windows with CMake (#2929)
6cd559100 style: Give template types more descriptive names (#2984)
7f49e95a0 fix: Add read_line_json_s function taking line length (#2968)
549ebcdeb refactor: Support const iterators to feature groups (#2972)
5d86cafa4 refactor: Do not use cstyle casts (guideline 16) (#2981)
1c31f950d fix: Unify duplicated error code headers (#2978)
4f0fe622f fix: use nullptr instead of NULL (#2980)
4eeecd343 fix: Avoid float to double promotion by using C++ version of math functions (#2979)
e3769cf09 Fixing json parse issue when pdrop is 0 (#2977)
89a7fe1b2 fix: fixes for headers not including things they need (#2974)
b1f853988 refactor: Remove unused foreach_feature func (#2973)

* add cb-loop to example_gen and make it accept a config file (#322)

* Gets CMake working on Windows (#320)

* Also enables building dotnet bindings via CMake on Windows

* [Binary parser] add test that compares json and fb joined logs's outputs (#323)

* mac ci: continue on error true (#327)

ignoring until #300 is fixed or we figure out why commit 13950d0 started consistently failing on mac ci.

* update vw to 8a24c1b4e (#324)

8a24c1b4e fix: [metrics] account for label action not predicted (#3004)
7b490aecc fix: cb_explore_adf_first.cc save_load (#2997)
b5939a84b Update dev environment to use new image (#3001)
97e137989 refactor: [metrics] cb_explore_adf optional metrics (#2998)
060c4c01f fix: keep gamm_exponent in squarecb (#2999)
7a495295f fix: [metrics] add missing ccb tests (#2996)

* [binary parser] set build default to release (#325)

* add file format to README (#329)

* Enable import of native msbuild projects into CMake-generated solution (#332)

* Enable native VS .NET projects in CMake generated sln
* Add utility target to launch VS with CMake build environment
* Fix target file location for rltest-onnx

* more info in README for binary parser (#334)

* Python binding overhaul, automatic binary and documentation generation (#330)

* WIP python bindings

* rl static deps

* update args

* update ci

* update build image

* remove other platforms for now

* add docs section

* Write migration guide

* rename from main to py_api.cc

* remove swig pieces

* migrate examples

* add build to ignore

* More updates

* Remove unnecessary bits of conf

* remove duplicated add_subdirectory

* Default static deps to off

* test ci

* fetch submodules

* fix doc gen

* Update build_python_wheels.yml

* Update build_python_wheels.yml

* Fix examples

* Support additional cmake args

* Add stats log replay tool. (#331)

* Add stats log replay tool.

* Simplify data loading and add documentation.

* feat: Generate and upload docs for every commit (#336)

* supply SPHINXBUILD to python doc builder ci (#339)

* ci: Another fix for doc building (#340)

* Ataymano/multistep joiner (#341)

* update vw version (#338)

dsjson parsing will now skip malformed lines instead of throwing exception. Run with --strict_parse to throw instead of skip.

commits:
04d218b fix: [metrics] set to zero (#3035)
860c525 feat: [metrics] cb_explore_adf additional metrics (#3032)
110a3e4 feat: [py] DFtoVW -> Add weight attribute to SimpleLabel (#3033)
b7625e8 feat: Create class to manage dual indexing of feature_groups (#3029)
6335dd1 refactor: Avoid v_array copies (#3030)
3df4973 feat: add flag to limit log output (#3021)
888e6f7 refactor: cb_explore_pdf (#3026)
99c645b feat: [py] Add contextual bandit label to DFtoVW (#2713)
3089e1b feat: add generic_range adapter class (#3025)
001cbb4 refactor: cb_explore_adf_synthcover (#3024)
f1fab51 refactor: cb_explore_adf_greedy (#3023)
21e9f8b fix: set default learn_returns_prediction to false, refactor cover (#3017)
9abf890 feat: [py] add api for learner metrics (#3022)
eb56eb7 refactor: Non printable namespaces should not be wildcard expanded (#3020)
fbe1e6b feat: [dsjson] Malformed lines are now skipped instead of being fatal (#3007)
4781c28 refactor: CCB participates in interaction reduction expansion (#3013)
613c93c refactor: cb_explore_adf_bag.cc make_reduction_learner (#3016)
a361623 refactor: refactor cb_explore_adf_rnd.cc with make_reduction_learner (#3014)
6ece769 refactor: cb_explore_adf_softmax.cc with make_reduction_learner (#3015)
c7ea383 refactor: eval_count_of_generated_ft PR follow up (#3011)
88b0eaf fix: refactor cb_explore_adf_first (#3012)
62bc992 fix: Refactor regcb with make_reduction_learner (#3010)
d0727e7 fix: Refactor squarecb with make_reduction_learner (#3009)
72c1db6 fix: warning for const qualifier on reference type (#3008)
26ada35 feat: support cached interaction expansion as a reduction (#2993)
17953f7 fix: regcb save_load and keep mellowness (#3006)
bf2162e fix: remove non printable ascii char from tests (#3005)

* Add skip learn logic to binary file parser (#333)

* Add skip learn logic to binary file parser

* fix: make launch_vs command set envvars correctly (#335)

The previous version of this was setting the BaseOutputFolder (which is changed under CMake when building DotNet bindings to ensure that native dlls are next to the managed dlls that require them) with quotes inside the variable. The fix is to quote the full set arg, so that quotes are not included in the value.

* [Binary parser] refactoring to make room for more loop types (#343)

* ci: Restrict ci to run only on master or release branches or all PRs (#344)

* [Binary parser] More refactoring and some initial ccb parsing (#345)

* vw pdrop hotfix pickup (#349)

* Add appid to event metadata for V2 schema (generic_event only)  (#337)

* Skip learn metrics (#346)

* Skip learn metrics

* [Binary parser] ccb parsing (#347)

* Updating VW from dbf5ae7ca to aaabadd9b (#350)

Co-authored-by: irvinec <caseyi@outlook.com>

* call c_str() safely (#354)

* Update bin log spec (#357)

* fix small bugs

* Handle file header and magic as messages and allow them at any point in the stream.

* Ignore events if no checkpoint info is available.

* Fix test suite.

* Remove binary_parser::read_magic as it's no longer used by parse_examples.

* Add tests for support of message reordering.

This adds new tool `log_gen` that takes a string and output a log
with the set of messages as defined in it. This was used to cook the
test files used in the test suite.

* Move config readiness to i_joiner.

* fix style and add documentation.

* converter to skip learning (#358)

Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* Support file format update. (#359)

* [binary-log] Add CLI override to checkpoint parameters. (#360)

CLI overrides must be sticky to be useful, so we introduce the notion of
sticky values that once set, can't be modified.

This is done by having a sticky_value<T> container in which the setter
takes an argument which controls the stickyness of the value. This way
we can use it for both CLI sources and file sources.

* Fix default case warning.

* Fix python build doc.

* Fix two issues that slipped into master by accident. (#362)

* Updating VW commit from aaabadd to ecadd8d (#363)

From commit aaabadd9b9af5d9970b08bfc7999a3382b6e6dc5
To commit ecadd8d8b622a74e4deed519e04ffe92ce4a9892

ecadd8d8b fix: Multiline Example handling when in multi-pass mode (#3143)
473f06263 test: get type information of VW options (#3142)
b5782bcae fix: Fix CB label caching (#3141)
24a2434ac refactor: return ScoredDual with bound (#3121)
a1b885252 test: update runtests.AUTOGEN.json (#3140)
fb1a5a817 refactor: remove all usages of delete_v and deprecate (#3138)
237e0f799 refactor: Don't use a shared ptr for audit (#3134)
9821ab91f refactor: deprecate some v_array functions (#3136)
7958d62dc refactor: use destructor to manage memory (#3131)
f2bd8e5e7 refactor: remove all usages of v_init and deprecate (#3135)
9c2ef84f2 refactor: simplify search memory management (#3132)
e1bef6108 ci: lock to specific version of google test in benchmark CI (#3137)
b8ed478a9 refactor: do not need to call delete_v anymore (#3130)
b2b7c9aeb fix: [Python] Fix default parameter convert_labels in sklearn_vw.VWRegressor (#3129)
86c374643 refactor: deprecate ezexample (#3128)
723743a05 fix: cats getting stuck to predicting tree edges for some bandwidths (#3114)
e0733c422 fix: use nullptr ostream when quiet is on (#3119)
863eee1a5 fix: fix two compiler warnings (#3123)
ec0accec9 fix: Check label type for shared features, Resolves #3088 (#3120)
b7d41f9b3 fix: [cb_to_cb_adf] multiple costs in label (#3126)
b06f76788 test: add to cmakelists unit test for cb_dro (#3117)
49fb54207 ci: Build docs as part of CI (#3090)
19c2031bc build: MSVC check must be done before project call (#3113)
16562d846 chore: Update deprecations to be explicit about 9.0 release (#3103)
e539f3c7d fix: setup_example should not be called twice on the same example (#3115)
eddadc095 fix: [DFtoVW] Fix issue with nan/None in feature (#3109)
ad39f4262 ci: Add Python type checking (#3105)
26442043b test: [py] fix seed for sim test (#3101)
6e052afbf feat: add learner builder for no-data learners (#3100)
57affdc57 chore: add deprecation notice for #3084 feature_self_interactions (#3099)
9241c148a refactor: remove cast in slim tests (#3098)
28fc4baec test: add tests for namespaces with same first letter (#3096)
becb082a2 feat: [Tutorial] Using DFtoVW and exploring VW output (#3068)
7f62d9fb4 chore: fix deprecation issue template (#3092)
3e7d62d61 test: [py] fix random failure by lowering value (#3089)
4ee7d96a9 chore: add requirements file to be used by binder (#3087)
3babe2213 feat: add chained_proxy_iterator to make it easier to iterate entire namespace index groups (#3076)
c7ff60303 refactor: Fix unnecessary usages of char* (#3085)
5c8fd55bc chore: Add deprecation template (#3028)
258e89f2c feat: [pyvw] Get weight from name (#3042)
4aa7728cc feat: add cb benchmark with more features (#3080)
ed13b81c9 fix: fix gdb pretty printer (#3079)


Co-authored-by: irvinec <caseyi@outlook.com>

* Fix episodic python binding.

Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Alexey Taymanov <41013086+ataymano@users.noreply.github.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Sheetal Lahabar <lamadh@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: irvinec <caseyi@outlook.com>

* episode history cleanup (#367)

Co-authored-by: ataymano@microsoft.com <Alexey Taymanov>

* [multistep] master merge (#395)

* [Binary parser] reward functions for ccb format (#361)

* [Binary parser] refactoring rewards (#366)

* Example gen add ccb loop for e2e testing (#368)

* [Binary parser] add e2e ccb test, compare dsjson and fb logged files create the same model (#369)

* minor binary parser cleanup (#370)

* [Binary parser] add external parser test for apprentice mode cb (#374)

* CCB apprentice reward (#373)

* [Binary parser] add metrics for cb (#371)

* [Binary parser] don't log when skip learn, more tests, skip over unknown msg type (#375)

* [binary parser] ccb skip learn (#376)

* refactor: add error message to fix config file (#377)

* Fix CI's after flatbuffer version update to 2.0 (#390)

* try set fb span minimal

* add to preprocessor definitions

* add to unit_test project file

* Revert "mac ci: continue on error true (#327)" (#385)

* Fix python build path on windows, and formatting. (#383)

* Update build_docs.yml (#391)

* only convert timestamp to string before exiting (#382)

* ntohl is a define on osx, rename the function. (#386)

* Add bunch of nice to haves CLI options and fix FB 2.0 compat. (#387)

* our build requires CMP0074 due to usage of PackageName_ROOT variables. (#393)

* our build requires CMP0074 due to usage of PackageName_ROOT variables.

* try to use cmake_policy

* Activations in multistep: first PR with schema changes only (#392)

* deferred action to multistep schema

* Multistep to problem type

* try to set cmake policy for CMP0074

* OLD -> NEW

* try default policy for cmp0074

* build fix

Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Griffin Bassman <griffinbassman@gmail.com>
Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: zwd-ms <71728747+zwd-ms@users.noreply.github.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* [multistep] Activations in client  (#397)

* [Binary parser] reward functions for ccb format (#361)

* [Binary parser] refactoring rewards (#366)

* Example gen add ccb loop for e2e testing (#368)

* [Binary parser] add e2e ccb test, compare dsjson and fb logged files create the same model (#369)

* minor binary parser cleanup (#370)

* [Binary parser] add external parser test for apprentice mode cb (#374)

* CCB apprentice reward (#373)

* [Binary parser] add metrics for cb (#371)

* [Binary parser] don't log when skip learn, more tests, skip over unknown msg type (#375)

* [binary parser] ccb skip learn (#376)

* refactor: add error message to fix config file (#377)

* Fix CI's after flatbuffer version update to 2.0 (#390)

* try set fb span minimal

* add to preprocessor definitions

* add to unit_test project file

* Revert "mac ci: continue on error true (#327)" (#385)

* Fix python build path on windows, and formatting. (#383)

* Update build_docs.yml (#391)

* only convert timestamp to string before exiting (#382)

* ntohl is a define on osx, rename the function. (#386)

* Add bunch of nice to haves CLI options and fix FB 2.0 compat. (#387)

* our build requires CMP0074 due to usage of PackageName_ROOT variables. (#393)

* our build requires CMP0074 due to usage of PackageName_ROOT variables.

* try to use cmake_policy

* Activations in multistep: first PR with schema changes only (#392)

* deferred action to multistep schema

* Multistep to problem type

* try to set cmake policy for CMP0074

* OLD -> NEW

* try default policy for cmp0074

* build fix

* flags to request_episodic_decision

* episodic decision: deferred action implementation

* report_action_taken for secondary index

* formatting fixes

Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: Griffin Bassman <griffinbassman@gmail.com>
Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: zwd-ms <71728747+zwd-ms@users.noreply.github.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>

* [multistep] Add episode logger to log episode id for checkpointing. (#407)

* Add episode logger to log episode id for checkpointing.

* Fix tests.

* [multistep] Clean up. (#413)

* Add episode logger to log episode id for checkpointing.

* Fix tests.

* Clean up.

* Clean up.

* Fix sending to episode eventhub after merging.

* Fix merge and build warnings.

* Change history type.

Co-authored-by: Alexey Taymanov <41013086+ataymano@users.noreply.github.com>
Co-authored-by: Alexey Taymanov <ataymano@gmail.com>
Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: cheng-tan <chengtan2013@gmail.com>
Co-authored-by: Rodrigo Kumpera <kumpera@users.noreply.github.com>
Co-authored-by: olgavrou <olgavrou@gmail.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Sheetal Lahabar <lamadh@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: irvinec <caseyi@outlook.com>
Co-authored-by: Griffin Bassman <griffinbassman@gmail.com>
Co-authored-by: Wangda Zhang <zwd@zwd.localdomain>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants