Skip to content

Commit

Permalink
chore: merge with upstream (#35)
Browse files Browse the repository at this point in the history
* feat: Add cb_to_cb_adf reduction (VowpalWabbit#2680)

This will 'translate' cb (non adf) input commands into their cb_adf counterparts
    Except when:
        - the model file loaded is from a version older than and not including 8.11.0
        - user bypasses this translation step using '--cb_force_legacy'

Breaks: predict format, output format of progressive validation. This is due to the input format of cb.
--cb input format does not include 0 as a valid action, cb_adf uses 0 to represent the action 1. This will merge the behavior between the cb and cb_adf branch.

    Related files: cb_algs.cc, cb_explore.cc, cbify.cc, cb_to_cb_adf.cc

* feat: [cb cb_adf] prog val print known label (VowpalWabbit#2957)

* refactor: migrate active_cover learner init (VowpalWabbit#2960)

* feat: consolidate math functions and add combinatorial related funcs (VowpalWabbit#2965)

* feat: consolidate math functions and add combinatorial related funcs

* formatting

* feat: [cb_adf_explore] prog val print known label (VowpalWabbit#2961)

* ci: Make LGTM ignore ext_libs directory (VowpalWabbit#2967)

* test: Add tests for vw_math and fix one function (VowpalWabbit#2966)

* test: Add tests for vw_math and fix one function

* formatting

* feat: add optional extra metrics (VowpalWabbit#2959)

  --extra_metrics filename 
Specify filename to write additional debug metrics to. Note: There is no fixed schema. Depends on specific reductions.

related: VowpalWabbit#2805

* refactor: Remove unused foreach_feature func (VowpalWabbit#2973)

* fix: fixes for headers not including things they need (VowpalWabbit#2974)

* Fix includes

* fix more headers

* Fix more headers

* formatting

* undo changes

* dont include on windows

* formatting

* Update mwt.h

* mutex header

* Fixing json parse issue when pdrop is 0 (VowpalWabbit#2977)

Co-authored-by: olgavrou <olvrousg@microsoft.com>

* fix: Avoid float to double promotion by using C++ version of math functions (VowpalWabbit#2979)

* fix: use nullptr instead of NULL (VowpalWabbit#2980)

* fix: Unify duplicated error code headers (VowpalWabbit#2978)

* fix: Unify dulicated error code headers

* formatting

* refactor: Do not use cstyle casts (guideline 16) (VowpalWabbit#2981)

* refactor: do not use c style casts

* formatting

* Add back cast

* formatting

* refactor: Support const iterators to feature groups (VowpalWabbit#2972)

* Refactor feature iterators

* Fix unique sort

* fixup

* Fix increments

* Use ptr for audit() since it is optional

* formatting

* to_flatbuffer

* fix: Add read_line_json_s function taking line length (VowpalWabbit#2968)

This will be used in RLClientLib to enable the dotnet bindings to pass size information and fix a crash; the alternate fix would be to force a \0 terminator on the .NET side

* Also deprecates un-sized call, as it safer to expect the caller to have run strlen, rather than assume it is safe to run.

Co-authored-by: @jackgerrits

* style: Give template types more descriptive names (VowpalWabbit#2984)

* style: give template parameters more descriptive names

* Formatting

* Fix typos

* update names

* Fix formatting issues

* build: [WIP] Enable building C# projects on Windows with CMake (VowpalWabbit#2929)

* Set up .NET/CLI-compatible build environment on WIN32

* Flatten output structure (enable native dependencies to be copied SxS
  with managed)
* Set up correct TargetFrameworkVersion
* Enforce CMake version minimum when building .NET bindings
* Unify WIN32-specific configuration in one CMake include

* Get VW.Net Common library building under CMake

* Get VW.Net managed C++ building under CMake

* Get VW.Net managed wrapper building under CMake

* Pull out NuGet package integration to CMake module

* Get VW.Net JSON bindings building under CMake

* Get VW.Net Parallel bindings building under CMake

* Enable StrongName signing

* Get VW.Net Console building under CMake

* Get .NET UnitTests building under CMake

* Integrate C# UnitTests into test_with_output

* Fix issue with vw-unit-test CTest when output is redirected

* Get VW.Net non-"friend" UnitTests building under CMake

* Integrate C# non-"friend" UnitTests into test_with_output

* Get .NET Simulator building under CMake

* Update T4Template utility to run T4 tool on configure

* This takes the generated sources of out the sourcetree

* Update for PR comments

* Normalize .cmake file casing
* Clarify option naming (NETFX => NET_FRAMEWORK)
* Spelling and whitespace fixes

* Update target names to match pre-CMake targets

* Fix warnings in search_generate.cc

* Change Windows CMake pipeline to use VS generator

* Fix formatting issues

Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Jack Gerrits <jack@jackgerrits.com>

* style: Use float instead of float ref (VowpalWabbit#2986)

* perf: Use float instead of float ref

* Fix formatting issues

* Update skip

* fix more merge issues

* Fix win build issue

Co-authored-by: Eduardo Salinas <edus@microsoft.com>
Co-authored-by: Casey Irvine <44978150+cirvine-MSFT@users.noreply.github.com>
Co-authored-by: olgavrou <olvrousg@microsoft.com>
Co-authored-by: Jacob Alber <jacob.alber@microsoft.com>
  • Loading branch information
5 people committed May 8, 2021
1 parent 46e0826 commit b4a5fc2
Show file tree
Hide file tree
Showing 108 changed files with 1,406 additions and 1,149 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/build_windows_cmake.yml
Expand Up @@ -52,11 +52,10 @@ jobs:
run: ${{ env.VCPKG_ROOT }}/vcpkg.exe --triplet x64-windows install zlib boost-system boost-program-options boost-test boost-align boost-foreach boost-math flatbuffers
- name: Generate project files
run: |
cmake -S "${{ env.SOURCE_DIR }}" -B "${{ env.CMAKE_BUILD_DIR }}" -GNinja -DCMAKE_TOOLCHAIN_FILE="${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" -DUSE_LATEST_STD=On -DBUILD_FLATBUFFERS=On
cmake -S "${{ env.SOURCE_DIR }}" -B "${{ env.CMAKE_BUILD_DIR }}" -G "Visual Studio 16 2019" -A "x64" -DCMAKE_TOOLCHAIN_FILE="${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" -DUSE_LATEST_STD=On -DBUILD_FLATBUFFERS=On -Dvw_BUILD_NET_FRAMEWORK=On
- name: Build project
run: |
cmake --build "${{ env.CMAKE_BUILD_DIR }}" --config ${{ matrix.build_config }}
- name: Run unit tests
- name: Run tests
run: |
${{ env.CMAKE_BUILD_DIR }}/test/unit_test/vw-unit-test.out
cmake --build "${{ env.CMAKE_BUILD_DIR }}" --config ${{ matrix.build_config }} --target test_with_output
27 changes: 22 additions & 5 deletions CMakeLists.txt
@@ -1,4 +1,5 @@
cmake_minimum_required(VERSION 3.5)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake/")
if(POLICY CMP0076)
cmake_policy(SET CMP0076 NEW)
Expand Down Expand Up @@ -38,11 +39,9 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()

# VW targets Windows 10.0.16299.0 SDK
# CMAKE_SYSTEM_VERSION must come before the project is defined in the top level CMakeLists file
# https://stackoverflow.com/questions/45692367/how-to-set-msvc-target-platform-version-with-cmake
if(WIN32)
set(CMAKE_SYSTEM_VERSION "10.0.16299.0" CACHE INTERNAL "Windows SDK version to target.")
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/platforms/win32.cmake)
message(STATUS "WinSDK Version: ${CMAKE_SYSTEM_VERSION}")
endif()

project(vowpal_wabbit VERSION ${PACKAGE_VERSION} LANGUAGES C CXX)
Expand Down Expand Up @@ -273,9 +272,27 @@ if(BUILD_TESTS)
set(vw_c_api_unit_test_target "vw_c_api_unit_test")
endif()


# The Visual Studio expression generator
set(cmake_test_configuration "")
set(cmake_test_verbosity "--verbose")
if (${CMAKE_GENERATOR} MATCHES "^Visual Studio")
set(cmake_test_configuration -C $<CONFIG>)
# The VS Generator builds fall over in test when STDOUT/ERR contains strings of the form
# "(<other-stuff, snipped>)?error[^:]*:.*", which our native unit tests output as part of a
# successful run.
#
# This is caused by MSBuild being "helpful":
# https://stackoverflow.com/questions/48117302/does-the-msbuild-exec-task-search-stdout-for-the-string-error
#
# The CMake team has discussed this issue, but are using an MSBuild mechanism that does not support
# overriding this behaviour. The fix is to disable test output on Visual Studio generator builds.
set(cmake_test_verbosity "")
endif()

# This target ensures all dependencies are built and also uses verbose mode allowing the test output to be seen.
add_custom_target(test_with_output
COMMAND ${CMAKE_CTEST_COMMAND} --verbose
COMMAND ${CMAKE_CTEST_COMMAND} ${cmake_test_configuration} ${cmake_test_verbosity}
DEPENDS spanning_tree vw-unit-test.out vw-bin ${vw_c_api_unit_test_target}
)
endif()
Expand Down
11 changes: 11 additions & 0 deletions cmake/platforms/win32.cmake
@@ -0,0 +1,11 @@
# This file contains header definitions applicable to Win32
# CMAKE_SYSTEM_VERSION must come before the project is defined in the top level CMakeLists file
# https://stackoverflow.com/questions/45692367/how-to-set-msvc-target-platform-version-with-cmake


if(WIN32)
# VW targets Windows 10.0.16299.0 SDK
set(CMAKE_SYSTEM_VERSION "10.0.16299.0" CACHE INTERNAL "Windows SDK version to target.")
else()
message(FATAL_ERROR "Loading Win32-specific configuration under a non-Win32 build.")
endif()
147 changes: 110 additions & 37 deletions test/RunTests
Expand Up @@ -1938,180 +1938,253 @@ python3 ./cluster_test.py --vw ../build/vowpalwabbit/vw --spanning_tree ../build
train-sets/ref/help.stderr
train-sets/ref/help.stdout
# Test 234: cbzo: learn and save constant template model
# Test 234: cb with dr (see test 39)
{VW} --cb_force_legacy -d train-sets/rcv1_raw_cb_small.vw --cb 2 --cb_type dr --ngram 2 --skips 4 -b 24 -l 0.25
train-sets/ref/rcv1_raw_cb_dr.stderr
# Test 235: cb with ips (see test 40)
{VW} --cb_force_legacy -d train-sets/rcv1_raw_cb_small.vw --cb 2 --cb_type ips --ngram 2 --skips 4 -b 24 -l 0.125
train-sets/ref/rcv1_raw_cb_ips.stderr
# Test 236: cb with dm (see test 41)
{VW} --cb_force_legacy -d train-sets/rcv1_raw_cb_small.vw --cb 2 --cb_type dm --ngram 2 --skips 4 -b 24 -l 0.125 -f cb_dm.reg
train-sets/ref/rcv1_raw_cb_dm.stderr
# Test 237: cb redirection when --eval (see test 74)
{VW} -d train-sets/rcv1_cb_eval --cb 2 --eval
train-sets/ref/rcv1_cb_eval.stderr
# Test 238: cbify, epsilon-greedy (see test 76)
{VW} --cb_force_legacy --cbify 10 --epsilon 0.05 -d train-sets/multiclass
train-sets/ref/cbify_epsilon_legacy.stderr
# Test 239: cbify, tau first (see test 77)
{VW} --cb_force_legacy --cbify 10 --first 5 -d train-sets/multiclass
train-sets/ref/cbify_first_legacy.stderr
# Test 240: cbify, bag (see test 78)
{VW} --cb_force_legacy --cbify 10 --bag 7 -d train-sets/multiclass
train-sets/ref/cbify_bag_legacy.stderr
# Test 241: cbify, cover (see test 79)
{VW} --cb_force_legacy --cbify 10 --cover 3 -d train-sets/multiclass --nounif
train-sets/ref/cbify_cover_legacy.stderr
# Test 242: cb_explore (see test 121)
{VW} --cb_force_legacy -d train-sets/rcv1_raw_cb_small.vw --cb_explore 2 --ngram 2 --skips 4 -b 24 -l 0.25 -p rcv1_raw_cb_explore_legacy.preds
train-sets/ref/rcv1_raw_cb_explore_legacy.stderr
pred-sets/ref/rcv1_raw_cb_explore_legacy.preds
# Test 243: test cbify large (see test 169)
{VW} --cb_force_legacy -d train-sets/rcv1_multiclass.dat --cbify 2 --epsilon 0.05
train-sets/ref/rcv1_multiclass_legacy.stderr
# Test 244: cbify cs, epsilon-greedy (see test 171)
{VW} --cb_force_legacy --cbify 3 --cbify_cs --epsilon 0.05 -d train-sets/cs_cb
train-sets/ref/cbify_epsilon_cs_legacy.stderr
# Test 245: cb_explore with cover epsilon decaying (see test 249)
{VW} --cb_force_legacy --cb_explore 2 --cover 3 -d train-sets/cb_explore_cover.dat -f models/cover_e_dec.model
train-sets/ref/cbe_cover_e_dec_legacy.stderr
# Test 246: cb_explore with cover epsilon decaying predict (see test 250)
{VW} --cb_explore 2 --cover 3 -d train-sets/cb_explore_cover.dat -i models/cover_e_dec.model -t -p cbe_cover_e_dec_legacy.predict
train-sets/ref/cbe_cover_e_dec_predict_legacy.stderr
pred-sets/ref/cbe_cover_e_dec_legacy.predict
# Test 247: cb_explore with cover epsilon fixed (see test 251)
{VW} --cb_force_legacy --cb_explore 2 --cover 3 -d train-sets/cb_explore_cover.dat -f models/cover_e_fixed.model --epsilon 0.5
train-sets/ref/cbe_cover_e_fixed_legacy.stderr
# Test 248: cb_explore with cover epsilon fixed predict (see test 252)
{VW} --cb_explore 2 --cover 3 -d train-sets/cb_explore_cover.dat -i models/cover_e_fixed.model --epsilon 0.5 -t -p cbe_cover_e_fixed_legacy.predict
train-sets/ref/cbe_cover_e_fixed_predict_legacy.stderr
pred-sets/ref/cbe_cover_e_fixed_legacy.predict
# Test 249: cb evaluation (see test 74)
{VW} -d train-sets/rcv1_cb_eval --cb 2 --eval
train-sets/ref/rcv1_cb_eval.stderr
# Test 250: 8.8.0 old model, test cb compat
{VW} -i model-sets/cb_compat_test.vwmodel -d train-sets/cb_compat_test.dat -p cb_compat_test.predict
train-sets/ref/cb_old_model.compat.stderr
pred-sets/ref/cb_compat_test.predict
# Test 251: cbzo: learn and save constant template model
# Note: Changing hyperparameters (-l, --radius etc.) or any options affecting the learning algorithm will require
# preparing the dataset again
{VW} -d train-sets/cbzo_constant.dat --holdout_off --cbzo --policy constant -l 0.001 --radius 0.1 -f models/cbzo_constant.model
train-sets/ref/cbzo_constant.stderr
train-sets/ref/cbzo_constant.stdout
# Test 235: cbzo: verify predictions of Test 261 model.
# Test 252: cbzo: verify predictions of Test 261 model.
# Also ends up testing if important cmd-line options (--cbzo, --policy) are saved with the model.
{VW} -d train-sets/cbzo_constant.dat --holdout_off -t --radius 0.1 -i models/cbzo_constant.model -p cbzo_constant.preds
pred-sets/ref/cbzo_constant.preds
# Test 236: cbzo: verify predictions without the intervention of model saving
# Test 253: cbzo: verify predictions without the intervention of model saving
{VW} -d train-sets/cbzo_constant.dat --holdout_off --cbzo --policy constant -l 0.001 --radius 0.1 -p cbzo_constant_online.preds
pred-sets/ref/cbzo_constant_online.preds
# Test 237: cbzo: verify --readable_model file contents
# Test 254: cbzo: verify --readable_model file contents
{VW} -d train-sets/cbzo_constant.dat --holdout_off --cbzo --policy constant -l 0.001 --radius 0.1 --readable_model cbzo_constant_readable_model.txt
train-sets/ref/cbzo_constant_readable_model.txt
# Test 238: cbzo: verify --invert_hash file contents
# Test 255: cbzo: verify --invert_hash file contents
{VW} -d train-sets/cbzo_constant.dat --holdout_off --cbzo --policy constant -l 0.001 --radius 0.1 --invert_hash cbzo_constant_invert_hash.txt
train-sets/ref/cbzo_constant_invert_hash.txt
# Test 239: cbzo: learn and save linear template model
# Test 256: cbzo: learn and save linear template model
# Note: Changing hyperparameters (-l, --l1, --radius etc.) or any options affecting the learning algorithm will require
# preparing the dataset again
{VW} -d train-sets/cbzo_linear.dat --holdout_off --cbzo --policy linear -l 0.0001 --radius 0.1 --l1 0.2 --l2 0.3 --no_bias_regularization -f models/cbzo_linear.model
train-sets/ref/cbzo_linear.stderr
train-sets/ref/cbzo_linear.stdout
# Test 240: cbzo: verify predictions of Test 266 model.
# Test 257: cbzo: verify predictions of Test 266 model.
# Also ends up testing if important cmd-line options (--cbzo, --policy) are saved with the model.
{VW} -d train-sets/cbzo_linear.dat --holdout_off -t --radius 0.1 -i models/cbzo_linear.model -p cbzo_linear.preds
pred-sets/ref/cbzo_linear.preds
# Test 241: cbzo: verify predictions without the intervention of model saving
# Test 258: cbzo: verify predictions without the intervention of model saving
{VW} -d train-sets/cbzo_linear.dat --holdout_off --cbzo --policy linear -l 0.0001 --radius 0.1 --l1 0.2 --l2 0.3 --no_bias_regularization -p cbzo_linear_online.preds
pred-sets/ref/cbzo_linear_online.preds
# Test 242: cbzo: verify --readable_model file contents
# Test 259: cbzo: verify --readable_model file contents
{VW} -d train-sets/cbzo_linear.dat --holdout_off --cbzo --policy linear -l 0.0001 --radius 0.1 --l1 0.2 --l2 0.3 --no_bias_regularization --readable_model cbzo_linear_readable_model.txt
train-sets/ref/cbzo_linear_readable_model.txt
# Test 243: cbzo: verify --invert_hash file contents
# Test 260: cbzo: verify --invert_hash file contents
{VW} -d train-sets/cbzo_linear.dat --holdout_off --cbzo --policy linear -l 0.0001 --radius 0.1 --l1 0.2 --l2 0.3 --no_bias_regularization --invert_hash cbzo_linear_invert_hash.txt
train-sets/ref/cbzo_linear_invert_hash.txt
# Test 244: vw --help with filtering
# Test 261: vw --help with filtering
{VW} --cb_adf --help
train-sets/ref/help_cbadf.stderr
train-sets/ref/help_cbadf.stdout
# Test 245: vw test used in brew script
# Test 262: vw test used in brew script
{VW} -d train-sets/houses --audit --nn 1
train-sets/ref/houses.stderr
train-sets/ref/houses.stdout
# Test 246: creating model using --save_resume to be tested with -q :: and --invert_hash
# Test 263: creating model using --save_resume to be tested with -q :: and --invert_hash
{VW} -d train-sets/ccb_test_interactions.dat --ccb_explore_adf -q :: -f models/288.model --save_resume --invert_hash ccb_quad.inv
train-sets/ref/ccb_quad.stderr
pred-sets/ref/ccb_quad.inv
# Test 247: checking invert_hash for ccb with --save_resume model and -q ::
# Test 264: checking invert_hash for ccb with --save_resume model and -q ::
{VW} -d train-sets/ccb_test_interactions.dat -i models/288.model --save_resume --invert_hash ccb_quad_save_resume.inv
train-sets/ref/ccb_quad_save_resume.stderr
pred-sets/ref/ccb_quad_save_resume.inv
# Test 248: Slates sanity check with interactions and invert hash
# Test 265: Slates sanity check with interactions and invert hash
{VW} --slates -d train-sets/slates_simple_w_interactions.txt -p slates_simple_w_interactions.predict -q :: --invert_hash slates_w_interactions.inv
train-sets/ref/slates_simple_w_interactions.stderr
pred-sets/ref/slates_simple_w_interactions.predict
pred-sets/ref/slates_w_interactions.inv
# Test 249: test -q :: with many interactions
# Test 266: test -q :: with many interactions
{VW} -d train-sets/ccb_lots_of_interactions.dat --ccb_explore_adf -q :: --invert_hash ccb_lots_of_interactions.inv
train-sets/ref/ccb_lots_of_interactions.stderr
pred-sets/ref/ccb_lots_of_interactions.inv
# Test 250: test -q :: with explicit interactions
# Test 267: test -q :: with explicit interactions
{VW} -d train-sets/ccb_lots_of_interactions_mini.dat --ccb_explore_adf -q :: -q AB --interactions AAA --interactions ::: --invert_hash ccb_implicit_and_explicit_interactions.inv
train-sets/ref/ccb_implicit_and_explicit_interactions.stderr
pred-sets/ref/ccb_implicit_and_explicit_interactions.inv
# Test 251: test -q :: with explicit interactions and ignore
# Test 268: test -q :: with explicit interactions and ignore
{VW} -d train-sets/ccb_lots_of_interactions_mini.dat --ignore C --ccb_explore_adf -q :: -q AB --interactions AAA --interactions ::: --invert_hash ccb_implicit_explicit_ignore_interactions.inv
train-sets/ref/ccb_implicit_explicit_ignore_interactions.stderr
pred-sets/ref/ccb_implicit_explicit_ignore_interactions.inv
# Test 252: Test interact reduction
# Test 269: Test interact reduction
{VW} -d train-sets/interact.dat -p t288.predict --interact ab --readable_model t288.readable
test-sets/ref/t288.stderr
pred-sets/ref/t288.predict
pred-sets/ref/t288.readable
# Test 253: FTRL readable model test
# Test 270: FTRL readable model test
# TODO: investigate slow convergence
{VW} -d train-sets/regression_simple.txt --noconstant --ftrl --invert_hash ftrl.readable
train-sets/ref/ftrl.readable
# Test 254: pistol readable model test
# Test 271: pistol readable model test
{VW} -d train-sets/regression_simple.txt --noconstant --pistol --invert_hash pistol.readable
train-sets/ref/pistol.readable
# Test 255: coin readable model test
# Test 272: coin readable model test
{VW} -d train-sets/regression_simple.txt --noconstant --coin --invert_hash coin.readable
train-sets/ref/coin.readable
# Test 256: generate cb model
# Test 273: generate cb model
{VW} -d train-sets/cb_as_ccb.json --dsjson --cb_explore_adf --save_resume -f models/cb_model.bin
train-sets/ref/cb_as_ccb.cb.stderr
# Test 257: load cb model into ccb learner
# Test 274: load cb model into ccb learner
{VW} -d train-sets/cb_as_ccb.json --dsjson --ccb_explore_adf --save_resume -i models/cb_model.bin
train-sets/ref/cb_as_ccb.ccb.stderr
# Test 258: memory_tree create model
# Test 275: memory_tree create model
{VW} -d train-sets/aloi_short_train.dat --memory_tree 1204 --learn_at_leaf --max_number_of_labels 1000 --dream_at_update 0 \
--dream_repeats 20 --online --leaf_example_multiplier 10 -f cmt.model
train-sets/ref/cmt_train_model.stderr
# Test 259: memory_tree load model
# Test 276: memory_tree load model
{VW} -d test-sets/aloi_short_test.dat -i cmt.model
train-sets/ref/cmt_test_model.stderr
# Test 260: cb file with no extra newline at the end
# Test 277: cb file with no extra newline at the end
{VW} --cb_explore_adf --epsilon 0.1 -d train-sets/cb_test_nonewline.ldf --noconstant -p cbe_adf_nonewline.predict
train-sets/ref/cbe_adf_nonewline.stderr
pred-sets/ref/cbe_adf_nonewline.predict
# Test 261: ccb file with no extra newline at the end
# Test 278: ccb file with no extra newline at the end
{VW} --ccb_explore_adf -d train-sets/ccb_test_nonewline.dat -p ccb_test_nonewline.predict
train-sets/ref/ccb_test_nonewline.stderr
train-sets/ref/ccb_test_nonewline.predict
# Test 262: slates file with no extra newline at the end
# Test 279: slates file with no extra newline at the end
{VW} --slates -d train-sets/slates_simple_nonewline.txt -p slates_simple_nonewline.predict
train-sets/ref/slates_simple_nonewline.stderr
pred-sets/ref/slates_simple_nonewline.predict
# Test 263: cb json dataset with zero feature values
# Test 280: cb json dataset with zero feature values
{VW} --cb_explore_adf --dsjson -d train-sets/cb_features_w_zero_vals.dsjson -p cb_zero_feature_vals_dsjson.predict
train-sets/ref/cb_zero_feature_vals_dsjson.stderr
pred-sets/ref/cb_zero_feature_vals_dsjson.predict
# Test 264: cb text dataset with zero feature values
# Test 281: cb text dataset with zero feature values
{VW} --cb_explore_adf -d train-sets/cb_features_w_zero_vals.dat -p cb_zero_feature_vals.predict
train-sets/ref/cb_zero_feature_vals.stderr
pred-sets/ref/cb_zero_feature_vals.predict
# Test 265: ccb text dataset with zero feature values in actions/slot/shared feature
# Test 282: ccb text dataset with zero feature values in actions/slot/shared feature
{VW} --ccb_explore_adf -d train-sets/ccb_zero_value_features.dat
train-sets/ref/ccb_zero_value_features.stderr
# Test 266: slate text dataset with zero feature values in actions/slot/shared feature
# Test 283: slate text dataset with zero feature values in actions/slot/shared feature
{VW} --slates -d train-sets/slates_zero_value_features.txt
train-sets/ref/slates_zero_value_features.stderr
# Test 267: cats predict room tempertature learn
# Test 284: cats predict room tempertature learn
{VW} -d train-sets/cats_room_temp.json --cats 32 --bandwidth 3 --min_value 0 --max_value 100 -f models/cats_room_temp.model --coin --json --chain_hash --epsilon 0.5
train-sets/ref/cats_room_temp.stderr
# Test 268: cats predict room tempertature learn
# Test 285: cats predict room tempertature learn
{VW} -d train-sets/cats_room_temp.json -i models/cats_room_temp.model --coin --json --chain_hash -p cats_room_temp.predict
train-sets/ref/cats_room_temp_pred.stderr
pred-sets/ref/cats_room_temp.predict
# Test 269: test extra_metrics
# Test 286: test extra_metrics
{VW} -d train-sets/decisionservice.json --dsjson --cb_explore_adf --epsilon 0.2 --quadratic GT -P 1 -p cbe_adf_dsjson.predict --extra_metrics metrics.json
train-sets/ref/cbe_adf_dsjson_metrics.stderr
pred-sets/ref/cbe_adf_dsjson.predict
test-sets/ref/metrics.json
# Test 270: test extra_metrics
# Test 287: test extra_metrics
{VW} -d train-sets/rcv1_raw_cb_small.vw --cb 2 --cb_type dr --ngram 2 --skips 4 -b 24 -l 0.25 --extra_metrics metrics_2.json
train-sets/ref/rcv1_raw_cb_dr_metrics.stderr
test-sets/ref/metrics_2.json
2 changes: 1 addition & 1 deletion test/run_tests.py
Expand Up @@ -594,7 +594,7 @@ def convert_tests_for_flatbuffers(tests, to_flatbuff, working_dir, color_enum):
test['skip'] = True
continue
#todo: understand why is it failing
if str(test_id) == '257':
if str(test_id) == '274':
continue

# test id is being used as an index here, not necessarily a contract
Expand Down
2 changes: 1 addition & 1 deletion test/unit_test/CMakeLists.txt
Expand Up @@ -62,6 +62,6 @@ endif()

add_test(
NAME vw_unit_test
COMMAND ./vw-unit-test.out
COMMAND $<TARGET_FILE:vw-unit-test.out>
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)

0 comments on commit b4a5fc2

Please sign in to comment.