Skip to content

VW arguments JSON format

Jack Gerrits edited this page Sep 13, 2021 · 2 revisions

This was file generated using: https://github.com/VowpalWabbit/vowpal_wabbit/tree/master/utl/dump_options

{
    "version_info": {
        "version": "8.11.0",
        "git_commit": "96ed8316d"
    },
    "option_groups": [
        {
            "name": "VW options",
            "options": [
                {
                    "name": "ring_size",
                    "help": "size of example ring",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 256
                },
                {
                    "name": "strict_parse",
                    "help": "throw on malformed examples",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Update options",
            "options": [
                {
                    "name": "learning_rate",
                    "help": "Set learning rate",
                    "short_name": "l",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "power_t",
                    "help": "t power value",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "decay_learning_rate",
                    "help": "Set Decay factor for learning_rate between passes",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "initial_t",
                    "help": "initial t value",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "double",
                    "has_default": false
                },
                {
                    "name": "feature_mask",
                    "help": "Use existing regressor to determine which parameters may be updated.  If no initial_regressor given, also used for initial weights.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Weight options",
            "options": [
                {
                    "name": "initial_regressor",
                    "help": "Initial regressor(s)",
                    "short_name": "i",
                    "keep": false,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "initial_weight",
                    "help": "Set all weights to an initial value of arg.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "random_weights",
                    "help": "make initial weights random",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "normal_weights",
                    "help": "make initial weights normal",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "truncated_normal_weights",
                    "help": "make initial weights truncated normal",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "sparse_weights",
                    "help": "Use a sparse datastructure for weights",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "input_feature_regularizer",
                    "help": "Per feature regularization input file",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Parallelization options",
            "options": [
                {
                    "name": "span_server",
                    "help": "Location of server for setting up spanning tree",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "unique_id",
                    "help": "unique id used for cluster parallel jobs",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "total",
                    "help": "total number of nodes used in cluster parallel job",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "node",
                    "help": "node number in cluster parallel job",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "span_server_port",
                    "help": "Port of the server for setting up spanning tree",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 26543
                }
            ]
        },
        {
            "name": "Diagnostic options",
            "options": [
                {
                    "name": "version",
                    "help": "Version information",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "audit",
                    "help": "print weights of features",
                    "short_name": "a",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "progress",
                    "help": "Progress update frequency. int: additive, float: multiplicative",
                    "short_name": "P",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "quiet",
                    "help": "Don't output disgnostics and progress updates",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "limit_output",
                    "help": "Avoid chatty output. Limit total printed lines.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "dry_run",
                    "help": "Parse arguments and print corresponding metadata. Will not execute driver.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "help",
                    "help": "More information on vowpal wabbit can be found here https://vowpalwabbit.org.",
                    "short_name": "h",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Randomization options",
            "options": [
                {
                    "name": "random_seed",
                    "help": "seed random number generator",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Feature options",
            "options": [
                {
                    "name": "hash",
                    "help": "how to hash the features. Available options: strings, all",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "hash_seed",
                    "help": "seed for hash function",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "ignore",
                    "help": "ignore namespaces beginning with character <arg>",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "ignore_linear",
                    "help": "ignore namespaces beginning with character <arg> for linear terms only",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "keep",
                    "help": "keep namespaces beginning with character <arg>",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "redefine",
                    "help": "redefine namespaces beginning with characters of std::string S as namespace N. <arg> shall be in form 'N:=S' where := is operator. Empty N or S are treated as default namespace. Use ':' as a wildcard in S.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "bit_precision",
                    "help": "number of bits in the feature table",
                    "short_name": "b",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "noconstant",
                    "help": "Don't add a constant feature",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "constant",
                    "help": "Set initial value of constant",
                    "short_name": "C",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "ngram",
                    "help": "Generate N grams. To generate N grams for a single namespace 'foo', arg should be fN.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "skips",
                    "help": "Generate skips in N grams. This in conjunction with the ngram tag can be used to generate generalized n-skip-k-gram. To generate n-skips for a single namespace 'foo', arg should be fN.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "feature_limit",
                    "help": "limit to N features. To apply to a single namespace 'foo', arg should be fN",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "affix",
                    "help": "generate prefixes/suffixes of features; argument '+2a,-3b,+1' means generate 2-char prefixes for namespace a, 3-char suffixes for b and 1 char prefixes for default namespace",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "spelling",
                    "help": "compute spelling features for a give namespace (use '_' for default namespace)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "dictionary",
                    "help": "read a dictionary for additional features (arg either 'x:file' or just 'file')",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "dictionary_path",
                    "help": "look in this directory for dictionaries; defaults to current directory or env{PATH}",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "interactions",
                    "help": "Create feature interactions of any level between namespaces.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "permutations",
                    "help": "Use permutations instead of combinations for feature interactions of same namespace.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "leave_duplicate_interactions",
                    "help": "Don't remove interactions with duplicate combinations of namespaces. For ex. this is a duplicate: '-q ab -q ba' and a lot more in '-q ::'.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "quadratic",
                    "help": "Create and use quadratic features",
                    "short_name": "q",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "q:",
                    "help": "DEPRECATED ':' corresponds to a wildcard for all printable characters",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "cubic",
                    "help": "Create and use cubic features",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Example options",
            "options": [
                {
                    "name": "testonly",
                    "help": "Ignore label information and just test",
                    "short_name": "t",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "holdout_off",
                    "help": "no holdout data in multiple passes",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "holdout_period",
                    "help": "holdout period for test only",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 10
                },
                {
                    "name": "holdout_after",
                    "help": "holdout after n training examples, default off (disables holdout_period)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "early_terminate",
                    "help": "Specify the number of passes tolerated when holdout loss doesn't decrease before early termination",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 3
                },
                {
                    "name": "passes",
                    "help": "Number of Training Passes",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "initial_pass_length",
                    "help": "initial number of examples per pass",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "examples",
                    "help": "number of examples to parse",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "min_prediction",
                    "help": "Smallest prediction to output",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "max_prediction",
                    "help": "Largest prediction to output",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "sort_features",
                    "help": "turn this on to disregard order in which features have been defined. This will lead to smaller cache sizes",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "loss_function",
                    "help": "Specify the loss function to be used, uses squared by default. Currently available ones are squared, classic, hinge, logistic, quantile and poisson.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": true,
                    "default_value": "squared"
                },
                {
                    "name": "quantile_tau",
                    "help": "Parameter \\tau associated with Quantile loss. Defaults to 0.5",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.5
                },
                {
                    "name": "l1",
                    "help": "l_1 lambda",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "l2",
                    "help": "l_2 lambda",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "no_bias_regularization",
                    "help": "no bias in regularization",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "named_labels",
                    "help": "use names for labels (multiclass, etc.) rather than integers, argument specified all possible labels, comma-sep, eg \"--named_labels Noun,Verb,Adj,Punc\"",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Output model",
            "options": [
                {
                    "name": "final_regressor",
                    "help": "Final regressor",
                    "short_name": "f",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "readable_model",
                    "help": "Output human-readable final regressor with numeric features",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "invert_hash",
                    "help": "Output human-readable final regressor with feature names.  Computationally expensive.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "save_resume",
                    "help": "save extra state so learning can be resumed later with new data",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "preserve_performance_counters",
                    "help": "reset performance counters when warmstarting",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "save_per_pass",
                    "help": "Save the model after every pass over data",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "output_feature_regularizer_binary",
                    "help": "Per feature regularization output file",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "output_feature_regularizer_text",
                    "help": "Per feature regularization output file, in text",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "id",
                    "help": "User supplied ID embedded into the final regressor",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Output options",
            "options": [
                {
                    "name": "predictions",
                    "help": "File to output predictions to",
                    "short_name": "p",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "raw_predictions",
                    "help": "File to output unnormalized predictions to",
                    "short_name": "r",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Debug: Metrics",
            "options": [
                {
                    "name": "extra_metrics",
                    "help": "Specify filename to write metrics to. Note: There is no fixed schema.",
                    "short_name": "",
                    "keep": false,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Audit Regressor",
            "options": [
                {
                    "name": "audit_regressor",
                    "help": "stores feature names and their regressor values. Same dataset must be used for both regressor training and this mode.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Search options",
            "options": [
                {
                    "name": "search",
                    "help": "Use learning to search, argument=maximum action id or 0 for LDF",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "search_task",
                    "help": "the search task (use \"--search_task list\" to get a list of available tasks)",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "search_metatask",
                    "help": "the search metatask (use \"--search_metatask list\" to get a list of available metatasks)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "search_interpolation",
                    "help": "at what level should interpolation happen? [*data|policy]",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "search_rollout",
                    "help": "how should rollouts be executed?           [policy|oracle|*mix_per_state|mix_per_roll|none]",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "search_rollin",
                    "help": "how should past trajectories be generated? [policy|oracle|*mix_per_state|mix_per_roll]",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "search_passes_per_policy",
                    "help": "number of passes per policy (only valid for search_interpolation=policy)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "search_beta",
                    "help": "interpolation rate for policies (only valid for search_interpolation=policy)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.5
                },
                {
                    "name": "search_alpha",
                    "help": "annealed beta = 1-(1-alpha)^t (only valid for search_interpolation=data)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.000000013351432e-10
                },
                {
                    "name": "search_total_nb_policies",
                    "help": "if we are going to train the policies through multiple separate calls to vw, we need to specify this parameter and tell vw how many policies are eventually going to be trained",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "search_trained_nb_policies",
                    "help": "the number of trained policies in a file",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "search_allowed_transitions",
                    "help": "read file of allowed transitions [def: all transitions are allowed]",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "search_subsample_time",
                    "help": "instead of training at all timesteps, use a subset. if value in (0,1), train on a random v%. if v>=1, train on precisely v steps per example, if v<=-1, use active learning",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "search_neighbor_features",
                    "help": "copy features from neighboring lines. argument looks like: '-1:a,+2' meaning copy previous line namespace a and next next line from namespace _unnamed_, where ',' separates them",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "search_rollout_num_steps",
                    "help": "how many calls of \"loss\" before we stop really predicting on rollouts and switch to oracle (default means \"infinite\")",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "search_history_length",
                    "help": "some tasks allow you to specify how much history their depend on; specify that here",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "search_no_caching",
                    "help": "turn off the built-in caching ability (makes things slower, but technically more safe)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "search_xv",
                    "help": "train two separate policies, alternating prediction/learning",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "search_perturb_oracle",
                    "help": "perturb the oracle on rollin with this probability",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "search_linear_ordering",
                    "help": "insist on generating examples in linear order (def: hoopla permutation)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "search_active_verify",
                    "help": "verify that active learning is doing the right thing (arg = multiplier, should be = cost_range * range_c)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "search_save_every_k_runs",
                    "help": "save model every k runs",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Experience Replay / replay_c",
            "options": [
                {
                    "name": "replay_c",
                    "help": "use experience replay at a specified level [b=classification/regression, m=multiclass, c=cost sensitive] with specified buffer size",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "replay_c_count",
                    "help": "how many times (in expectation) should each example be played (default: 1 = permuting)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                }
            ]
        },
        {
            "name": "Offset tree Options",
            "options": [
                {
                    "name": "ot",
                    "help": "Offset tree with <k> labels",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit Options: cb -> cb_adf",
            "options": [
                {
                    "name": "cb_to_cbadf",
                    "help": "Maps cb_adf to cb. Disable with cb_force_legacy.",
                    "short_name": "",
                    "keep": false,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "cb",
                    "help": "Maps cb_adf to cb. Disable with cb_force_legacy.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "cb_explore",
                    "help": "Translate cb explore to cb_explore_adf. Disable with cb_force_legacy.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "cbify",
                    "help": "Translate cbify to cb_adf. Disable with cb_force_legacy.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "cb_type",
                    "help": "contextual bandit method to use in {}",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "cb_force_legacy",
                    "help": "Default to non-adf cb implementation (cb_algs)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Make csoaa_ldf into Contextual Bandit",
            "options": [
                {
                    "name": "cbify_ldf",
                    "help": "Convert csoaa_ldf into a contextual bandit problem",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "loss0",
                    "help": "loss for correct label",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "loss1",
                    "help": "loss for incorrect label",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                }
            ]
        },
        {
            "name": "Make Multiclass into Contextual Bandit",
            "options": [
                {
                    "name": "cbify",
                    "help": "Convert multiclass on <k> classes into a contextual bandit problem",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "cbify_cs",
                    "help": "Consume cost-sensitive classification examples instead of multiclass",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cbify_reg",
                    "help": "Consume regression examples instead of multiclass and cost sensitive",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cats",
                    "help": "Continuous action tree with smoothing",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "cb_discrete",
                    "help": "Discretizes continuous space and adds cb_explore as option",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "min_value",
                    "help": "Minimum continuous value",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "max_value",
                    "help": "Maximum continuous value",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "loss_option",
                    "help": "loss options for regression - 0:squared, 1:absolute, 2:0/1",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "loss_report",
                    "help": "loss report option - 0:normalized, 1:denormalized",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "loss_01_ratio",
                    "help": "ratio of zero loss for 0/1 loss",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "loss0",
                    "help": "loss for correct label",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "loss1",
                    "help": "loss for incorrect label",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                }
            ]
        },
        {
            "name": "Continuous actions tree with smoothing",
            "options": [
                {
                    "name": "cats",
                    "help": "number of discrete actions <k> for cats",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "min_value",
                    "help": "Minimum continuous value",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "max_value",
                    "help": "Maximum continuous value",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "bandwidth",
                    "help": "Bandwidth (radius) of randomization around discrete actions in terms of continuous range. By default will be set to half of the continuous action unit-range resulting in smoothing that stays inside the action space unit-range:\nunit_range = (max_value - min_value)/num-of-actions\ndefault bandwidth = unit_range / 2.0",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Continuous actions - sample pdf",
            "options": [
                {
                    "name": "sample_pdf",
                    "help": "Sample a pdf and pick a continuous valued action",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Continuous action tree with smoothing with full pdf",
            "options": [
                {
                    "name": "cats_pdf",
                    "help": "number of tree labels <k> for cats_pdf",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "int",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Continuous actions - cb_explore_pdf",
            "options": [
                {
                    "name": "cb_explore_pdf",
                    "help": "Sample a pdf and pick a continuous valued action",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.05000000074505806
                },
                {
                    "name": "min_value",
                    "help": "min value for continuous range",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "max_value",
                    "help": "max value for continuous range",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "first_only",
                    "help": "Use user provided first action or user provided pdf or uniform random",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Convert discrete PMF into continuous PDF",
            "options": [
                {
                    "name": "pmf_to_pdf",
                    "help": "number of discrete actions <k> for pmf_to_pdf",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "min_value",
                    "help": "Minimum continuous value",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "max_value",
                    "help": "Maximum continuous value",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "bandwidth",
                    "help": "Bandwidth (radius) of randomization around discrete actions in terms of continuous range. By default will be set to half of the continuous action unit-range resulting in smoothing that stays inside the action space unit-range:\nunit_range = (max_value - min_value)/num-of-actions\ndefault bandwidth = unit_range / 2.0",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "first_only",
                    "help": "Use user provided first action or user provided pdf or uniform random",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Continuous actions - convert to pmf",
            "options": [
                {
                    "name": "get_pmf",
                    "help": "Convert a single multiclass prediction to a pmf",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Make Multiclass into Warm-starting Contextual Bandit",
            "options": [
                {
                    "name": "warm_cb",
                    "help": "Convert multiclass on <k> classes into a contextual bandit problem",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "warm_cb_cs",
                    "help": "consume cost-sensitive classification examples instead of multiclass",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "loss0",
                    "help": "loss for correct label",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "loss1",
                    "help": "loss for incorrect label",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "warm_start",
                    "help": "number of training examples for warm start phase",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "interaction",
                    "help": "number of examples for the interactive contextual bandit learning phase",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 4294967295
                },
                {
                    "name": "warm_start_update",
                    "help": "indicator of warm start updates",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "interaction_update",
                    "help": "indicator of interaction updates",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "corrupt_type_warm_start",
                    "help": "type of label corruption in the warm start phase (1: uniformly at random, 2: circular, 3: replacing with overwriting label)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "corrupt_prob_warm_start",
                    "help": "probability of label corruption in the warm start phase",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "choices_lambda",
                    "help": "the number of candidate lambdas to aggregate (lambda is the importance weight parameter between the two sources)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "lambda_scheme",
                    "help": "The scheme for generating candidate lambda set (1: center lambda=0.5, 2: center lambda=0.5, min lambda=0, max lambda=1, 3: center lambda=epsilon/(1+epsilon), 4: center lambda=epsilon/(1+epsilon), min lambda=0, max lambda=1); the rest of candidate lambda values are generated using a doubling scheme",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "overwrite_label",
                    "help": "the label used by type 3 corruptions (overwriting)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "sim_bandit",
                    "help": "simulate contextual bandit updates on warm start examples",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Slates",
            "options": [
                {
                    "name": "slates",
                    "help": "EXPERIMENTAL",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "EXPERIMENTAL: Conditional Contextual Bandit Exploration with ADF",
            "options": [
                {
                    "name": "ccb_explore_adf",
                    "help": "EXPERIMENTAL: Do Conditional Contextual Bandit learning with multiline action dependent features.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "all_slots_loss",
                    "help": "Report average loss from all slots",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Explore evaluation",
            "options": [
                {
                    "name": "explore_eval",
                    "help": "Evaluate explore_eval adf policies",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "multiplier",
                    "help": "Multiplier used to make all rejection sample probabilities <= 1",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                }
            ]
        },
        {
            "name": "CB Sample",
            "options": [
                {
                    "name": "cb_sample",
                    "help": "Sample from CB pdf and swap top action.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "CB Distributionally Robust Optimization",
            "options": [
                {
                    "name": "cb_dro",
                    "help": "Use DRO for cb learning",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cb_dro_alpha",
                    "help": "Confidence level for cb dro",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "double",
                    "has_default": true,
                    "default_value": 0.05
                },
                {
                    "name": "cb_dro_tau",
                    "help": "Time constant for count decay for cb dro",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "double",
                    "has_default": true,
                    "default_value": 0.999
                },
                {
                    "name": "cb_dro_wmax",
                    "help": "maximum importance weight for cb_dro",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "double",
                    "has_default": true,
                    "default_value": "inf"
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (bagging)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "bag",
                    "help": "bagging-based exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "greedify",
                    "help": "always update first policy once in bagging",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "first_only",
                    "help": "Only explore the first action in a tie-breaking event",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (online cover)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cover",
                    "help": "Online cover based exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "psi",
                    "help": "disagreement parameter for cover",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "nounif",
                    "help": "do not explore uniformly on zero-probability actions in cover",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "first_only",
                    "help": "Only explore the first action in a tie-breaking event",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cb_type",
                    "help": "contextual bandit method to use in {ips,dr,mtr}. Default: mtr",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.05000000074505806
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (tau-first)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "first",
                    "help": "tau-first exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (synthetic cover)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "synthcover",
                    "help": "use synthetic cover exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "synthcoverpsi",
                    "help": "exploration reward bonus",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "synthcoversize",
                    "help": "number of policies in cover",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 100
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (SquareCB)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "squarecb",
                    "help": "SquareCB exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "gamma_scale",
                    "help": "Sets SquareCB greediness parameter to gamma=[gamma_scale]*[num examples]^1/2",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 10.0
                },
                {
                    "name": "gamma_exponent",
                    "help": "Exponent on [num examples] in SquareCB greediness parameter gamma.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.5
                },
                {
                    "name": "elim",
                    "help": "Only perform SquareCB exploration over plausible actions (computed via RegCB strategy)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "mellowness",
                    "help": "Mellowness parameter c_0 for computing plausible action set. Only used with --elim",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0010000000474974514
                },
                {
                    "name": "cb_min_cost",
                    "help": "Lower bound on cost. Only used with --elim",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "cb_max_cost",
                    "help": "Upper bound on cost. Only used with --elim",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "cb_type",
                    "help": "contextual bandit method to use in {ips,dr,mtr}. Default: mtr",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (RegCB)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "regcb",
                    "help": "RegCB-elim exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "regcbopt",
                    "help": "RegCB optimistic exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "mellowness",
                    "help": "RegCB mellowness parameter c_0. Default 0.1",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "cb_min_cost",
                    "help": "lower bound on cost",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "cb_max_cost",
                    "help": "upper bound on cost",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "first_only",
                    "help": "Only explore the first action in a tie-breaking event",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cb_type",
                    "help": "contextual bandit method to use in {ips,dr,mtr}. Default: mtr",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (rnd)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "minimum exploration probability",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "rnd",
                    "help": "rnd based exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "rnd_alpha",
                    "help": "ci width for rnd (bigger => more exploration on repeating features)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "rnd_invlambda",
                    "help": "covariance regularization strength rnd (bigger => more exploration on new features)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (softmax)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "softmax",
                    "help": "softmax exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "lambda",
                    "help": "parameter for softmax",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration with ADF (greedy)",
            "options": [
                {
                    "name": "cb_explore_adf",
                    "help": "Online explore-exploit for a contextual bandit problem with multiline action dependent features",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "first_only",
                    "help": "Only explore the first action in a tie-breaking event",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit Exploration",
            "options": [
                {
                    "name": "cb_explore",
                    "help": "Online explore-exploit for a <k> action contextual bandit problem",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "first",
                    "help": "tau-first exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "epsilon",
                    "help": "epsilon-greedy exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.05000000074505806
                },
                {
                    "name": "bag",
                    "help": "bagging-based exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "cover",
                    "help": "Online cover based exploration",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "nounif",
                    "help": "do not explore uniformly on zero-probability actions in cover",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "psi",
                    "help": "disagreement parameter for cover",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                }
            ]
        },
        {
            "name": "CATS Tree Options",
            "options": [
                {
                    "name": "cats_tree",
                    "help": "CATS Tree with <k> labels",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "tree_bandwidth",
                    "help": "tree bandwidth for continuous actions in terms of #actions",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "link",
                    "help": "Specify the link function: identity, logistic, glf1 or poisson",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Multiworld Testing Options",
            "options": [
                {
                    "name": "multiworld_test",
                    "help": "Evaluate features as a policies",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "learn",
                    "help": "Do Contextual Bandit learning on <n> classes.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "exclude_eval",
                    "help": "Discard mwt policy features before learning",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit with Action Dependent Features",
            "options": [
                {
                    "name": "cb_adf",
                    "help": "Do Contextual Bandit learning with multiline action dependent features.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "rank_all",
                    "help": "Return actions sorted by score order",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "no_predict",
                    "help": "Do not do a prediction when training",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "clip_p",
                    "help": "Clipping probability in importance weight. Default: 0.f (no clipping).",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "cb_type",
                    "help": "contextual bandit method to use in {ips, dm, dr, mtr, sm}. Default: mtr",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Contextual Bandit Options",
            "options": [
                {
                    "name": "cb",
                    "help": "Use contextual bandit learning with <k> costs",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "cb_type",
                    "help": "contextual bandit method to use in {ips,dm,dr}",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "eval",
                    "help": "Evaluate a policy rather than optimizing.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cb_force_legacy",
                    "help": "Default to non-adf cb implementation (cb_to_cb_adf)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Cost Sensitive One Against All with Label Dependent Features",
            "options": [
                {
                    "name": "csoaa_ldf",
                    "help": "Use one-against-all multiclass learning with label dependent features.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "ldf_override",
                    "help": "Override singleline or multiline from csoaa_ldf or wap_ldf, eg if stored in file",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "csoaa_rank",
                    "help": "Return actions sorted by score order",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "probabilities",
                    "help": "predict probabilites of all classes",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Cost Sensitive weighted all-pairs with Label Dependent Features",
            "options": [
                {
                    "name": "wap_ldf",
                    "help": "Use weighted all-pairs multiclass learning with label dependent features.  Specify singleline or multiline.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Interact via elementwise multiplication",
            "options": [
                {
                    "name": "interact",
                    "help": "Put weights on feature products from namespaces <n1> and <n2>",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Cost Sensitive One Against All",
            "options": [
                {
                    "name": "csoaa",
                    "help": "One-against-all multiclass with <k> costs",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Cost-sensitive Active Learning",
            "options": [
                {
                    "name": "cs_active",
                    "help": "Cost-sensitive active learning with <k> costs",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "simulation",
                    "help": "cost-sensitive active learning simulation mode",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "baseline",
                    "help": "cost-sensitive active learning baseline",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "domination",
                    "help": "cost-sensitive active learning use domination. Default 1",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "mellowness",
                    "help": "mellowness parameter c_0. Default 0.1.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "range_c",
                    "help": "parameter controlling the threshold for per-label cost uncertainty. Default 0.5.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.5
                },
                {
                    "name": "max_labels",
                    "help": "maximum number of label queries.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 18446744073709551615
                },
                {
                    "name": "min_labels",
                    "help": "minimum number of label queries.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 18446744073709551615
                },
                {
                    "name": "cost_max",
                    "help": "cost upper bound. Default 1.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "cost_min",
                    "help": "cost lower bound. Default 0.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "csa_debug",
                    "help": "print debug stuff for cs_active",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Probabilistic Label Tree ",
            "options": [
                {
                    "name": "plt",
                    "help": "Probabilistic Label Tree with <k> labels",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "kary_tree",
                    "help": "use <k>-ary tree",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 2
                },
                {
                    "name": "threshold",
                    "help": "predict labels with conditional marginal probability greater than <thr> threshold",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.5
                },
                {
                    "name": "top_k",
                    "help": "predict top-<k> labels instead of labels above threshold",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 0
                }
            ]
        },
        {
            "name": "Multilabel One Against All",
            "options": [
                {
                    "name": "multilabel_oaa",
                    "help": "One-against-all multilabel with <k> labels",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                }
            ]
        },
        {
            "name": "importance weight classes",
            "options": [
                {
                    "name": "classweight",
                    "help": "importance weight multiplier for class",
                    "short_name": "",
                    "keep": false,
                    "necessary": true,
                    "type": "list<string>",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Memory Tree",
            "options": [
                {
                    "name": "memory_tree",
                    "help": "Make a memory tree with at most <n> nodes",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "max_number_of_labels",
                    "help": "max number of unique label",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 10
                },
                {
                    "name": "leaf_example_multiplier",
                    "help": "multiplier on examples per leaf (default = log nodes)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "alpha",
                    "help": "Alpha",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "dream_repeats",
                    "help": "number of dream operations per example (default = 1)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "top_K",
                    "help": "top K prediction error (default 1)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "learn_at_leaf",
                    "help": "Enable learning at leaf",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "oas",
                    "help": "use oas at the leaf",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "dream_at_update",
                    "help": "turn on dream operations at reward based update as well",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "online",
                    "help": "turn on dream operations at reward based update as well",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Recall Tree",
            "options": [
                {
                    "name": "recall_tree",
                    "help": "Use online tree for multiclass",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "max_candidates",
                    "help": "maximum number of labels per leaf in the tree",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "bern_hyper",
                    "help": "recall tree depth penalty",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "max_depth",
                    "help": "maximum depth of the tree, default log_2 (#classes)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "node_only",
                    "help": "only use node features, not full path features",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "randomized_routing",
                    "help": "randomized routing",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Logarithmic Time Multiclass Tree",
            "options": [
                {
                    "name": "log_multi",
                    "help": "Use online tree for multiclass",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "no_progress",
                    "help": "disable progressive validation",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "swap_resistance",
                    "help": "higher = more resistance to swap, default=4",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 4
                }
            ]
        },
        {
            "name": "Error Correcting Tournament Options",
            "options": [
                {
                    "name": "ect",
                    "help": "Error correcting tournament with <k> labels",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "error",
                    "help": "errors allowed by ECT",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "link",
                    "help": "Specify the link function: identity, logistic, glf1 or poisson",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": true,
                    "default_value": "identity"
                }
            ]
        },
        {
            "name": "Boosting",
            "options": [
                {
                    "name": "boosting",
                    "help": "Online boosting with <N> weak learners",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "int",
                    "has_default": false
                },
                {
                    "name": "gamma",
                    "help": "weak learner's edge (=0.1), used only by online BBM",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "alg",
                    "help": "specify the boosting algorithm: BBM (default), logistic (AdaBoost.OL.W), adaptive (AdaBoost.OL)",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": true,
                    "default_value": "BBM"
                }
            ]
        },
        {
            "name": "One Against All Options",
            "options": [
                {
                    "name": "oaa",
                    "help": "One-against-all multiclass with <k> labels",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "oaa_subsample",
                    "help": "subsample this number of negative examples when learning",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "probabilities",
                    "help": "predict probabilites of all classes",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "scores",
                    "help": "output raw scores per class",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Top K",
            "options": [
                {
                    "name": "top",
                    "help": "top k recommendation",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Experience Replay / replay_m",
            "options": [
                {
                    "name": "replay_m",
                    "help": "use experience replay at a specified level [b=classification/regression, m=multiclass, c=cost sensitive] with specified buffer size",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "replay_m_count",
                    "help": "how many times (in expectation) should each example be played (default: 1 = permuting)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                }
            ]
        },
        {
            "name": "Binary loss",
            "options": [
                {
                    "name": "binary",
                    "help": "report loss as binary classification on -1,1",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Bootstrap",
            "options": [
                {
                    "name": "bootstrap",
                    "help": "k-way bootstrap by online importance resampling",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "bs_type",
                    "help": "prediction type {mean,vote}",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Continuous Action Contextual Bandit using Zeroth-Order Optimization",
            "options": [
                {
                    "name": "cbzo",
                    "help": "Solve 1-slot Continuous Action Contextual Bandit using Zeroth-Order Optimization",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "policy",
                    "help": "Policy/Model to Learn",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": true,
                    "default_value": "linear"
                },
                {
                    "name": "radius",
                    "help": "Exploration Radius",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                }
            ]
        },
        {
            "name": "scorer options",
            "options": [
                {
                    "name": "link",
                    "help": "Specify the link function: identity, logistic, glf1 or poisson",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": true,
                    "default_value": "identity"
                }
            ]
        },
        {
            "name": "Stagewise polynomial options",
            "options": [
                {
                    "name": "stage_poly",
                    "help": "use stagewise polynomial feature learning",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "sched_exponent",
                    "help": "exponent controlling quantity of included features",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "batch_sz",
                    "help": "multiplier on batch size before including more features",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "unsigned int",
                    "has_default": true,
                    "default_value": 1000
                },
                {
                    "name": "batch_sz_no_doubling",
                    "help": "batch_sz does not double",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Low Rank Quadratics FA",
            "options": [
                {
                    "name": "lrqfa",
                    "help": "use low rank quadratic features with field aware weights",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Low Rank Quadratics",
            "options": [
                {
                    "name": "lrq",
                    "help": "use low rank quadratic features",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "lrqdropout",
                    "help": "use dropout training for low rank quadratic features",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Autolink",
            "options": [
                {
                    "name": "autolink",
                    "help": "create link function with polynomial d",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Marginal options",
            "options": [
                {
                    "name": "marginal",
                    "help": "substitute marginal label estimates for ids",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "initial_denominator",
                    "help": "initial denominator",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "initial_numerator",
                    "help": "initial numerator",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.5
                },
                {
                    "name": "compete",
                    "help": "enable competition with marginal features",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "update_before_learn",
                    "help": "update marginal values before learning",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "unweighted_marginals",
                    "help": "ignore importance weights when computing marginals",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "decay",
                    "help": "decay multiplier per event (1e-3 for example)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                }
            ]
        },
        {
            "name": "Neural Network",
            "options": [
                {
                    "name": "nn",
                    "help": "Sigmoidal feedforward network with <k> hidden units",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "inpass",
                    "help": "Train or test sigmoidal feedforward network with input passthrough.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "multitask",
                    "help": "Share hidden layer across all reduced tasks.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "dropout",
                    "help": "Train or test sigmoidal feedforward network using dropout.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "meanfield",
                    "help": "Train or test sigmoidal feedforward network using mean field.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Confidence",
            "options": [
                {
                    "name": "confidence",
                    "help": "Get confidence for binary predictions",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "confidence_after_training",
                    "help": "Confidence after training",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Active Learning with Cover",
            "options": [
                {
                    "name": "active_cover",
                    "help": "enable active learning with cover",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "mellowness",
                    "help": "active learning mellowness parameter c_0. Default 8.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 8.0
                },
                {
                    "name": "alpha",
                    "help": "active learning variance upper bound parameter alpha. Default 1.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "beta_scale",
                    "help": "active learning variance upper bound parameter beta_scale. Default std::sqrt(10).",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 3.1622776985168459
                },
                {
                    "name": "cover",
                    "help": "cover size. Default 12.",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 12
                },
                {
                    "name": "oracular",
                    "help": "Use Oracular-CAL style query or not. Default false.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Active Learning",
            "options": [
                {
                    "name": "active",
                    "help": "enable active learning",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "simulation",
                    "help": "active learning simulation mode",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "mellowness",
                    "help": "active learning mellowness parameter c_0. Default 8",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 8.0
                }
            ]
        },
        {
            "name": "Experience Replay / replay_b",
            "options": [
                {
                    "name": "replay_b",
                    "help": "use experience replay at a specified level [b=classification/regression, m=multiclass, c=cost sensitive] with specified buffer size",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "replay_b_count",
                    "help": "how many times (in expectation) should each example be played (default: 1 = permuting)",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                }
            ]
        },
        {
            "name": "Baseline options",
            "options": [
                {
                    "name": "baseline",
                    "help": "Learn an additive baseline (from constant features) and a residual separately in regression.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "lr_multiplier",
                    "help": "learning rate multiplier for baseline model",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "global_only",
                    "help": "use separate example with only global constant for baseline predictions",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "check_enabled",
                    "help": "only use baseline when the example contains enabled flag",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Generate interactions",
            "options": [
                {
                    "name": "leave_duplicate_interactions",
                    "help": "Don't remove interactions with duplicate combinations of namespaces. For ex. this is a duplicate: '-q ab -q ba' and a lot more in '-q ::'.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Matrix Factorization Reduction",
            "options": [
                {
                    "name": "new_mf",
                    "help": "rank for reduction-based matrix factorization",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                }
            ]
        },
        {
            "name": "OjaNewton options",
            "options": [
                {
                    "name": "OjaNewton",
                    "help": "Online Newton with Oja's Sketch",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "sketch_size",
                    "help": "size of sketch",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 10
                },
                {
                    "name": "epoch_size",
                    "help": "size of epoch",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "alpha",
                    "help": "mutiplicative constant for indentiy",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "alpha_inverse",
                    "help": "one over alpha, similar to learning rate",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "learning_rate_cnt",
                    "help": "constant for the learning rate 1/t",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 2.0
                },
                {
                    "name": "normalize",
                    "help": "normalize the features or not",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "random_init",
                    "help": "randomize initialization of Oja or not",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Conjugate Gradient options",
            "options": [
                {
                    "name": "conjugate_gradient",
                    "help": "use conjugate gradient based optimization",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "LBFGS and Conjugate Gradient options",
            "options": [
                {
                    "name": "bfgs",
                    "help": "use conjugate gradient based optimization",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "hessian_on",
                    "help": "use second derivative in line search",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "mem",
                    "help": "memory in bfgs",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 15
                },
                {
                    "name": "termination",
                    "help": "Termination threshold",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0010000000474974514
                }
            ]
        },
        {
            "name": "Latent Dirichlet Allocation",
            "options": [
                {
                    "name": "lda",
                    "help": "Run lda with <int> topics",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "lda_alpha",
                    "help": "Prior on sparsity of per-document topic weights",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "lda_rho",
                    "help": "Prior on sparsity of topic distributions",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.10000000149011612
                },
                {
                    "name": "lda_D",
                    "help": "Number of documents",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 10000.0
                },
                {
                    "name": "lda_epsilon",
                    "help": "Loop convergence threshold",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0010000000474974514
                },
                {
                    "name": "minibatch",
                    "help": "Minibatch size, for LDA",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "math-mode",
                    "help": "Math mode: simd, accuracy, fast-approx",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 0
                },
                {
                    "name": "metrics",
                    "help": "Compute metrics",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Noop Learner",
            "options": [
                {
                    "name": "noop",
                    "help": "do no learning",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Print psuedolearner",
            "options": [
                {
                    "name": "print",
                    "help": "print examples",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Gradient Descent Matrix Factorization",
            "options": [
                {
                    "name": "rank",
                    "help": "rank for matrix factorization.",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "unsigned int",
                    "has_default": false
                },
                {
                    "name": "bfgs",
                    "help": "Option not supported by this reduction",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "conjugate_gradient",
                    "help": "Option not supported by this reduction",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Network sending",
            "options": [
                {
                    "name": "sendto",
                    "help": "send examples to <host>",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "string",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Stochastic Variance Reduced Gradient",
            "options": [
                {
                    "name": "svrg",
                    "help": "Streaming Stochastic Variance Reduced Gradient",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "stage_size",
                    "help": "Number of passes per SVRG stage",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 1
                }
            ]
        },
        {
            "name": "Follow the Regularized Leader",
            "options": [
                {
                    "name": "ftrl",
                    "help": "FTRL: Follow the Proximal Regularized Leader",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "coin",
                    "help": "Coin betting optimizer",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "pistol",
                    "help": "PiSTOL: Parameter-free STOchastic Learning",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "ftrl_alpha",
                    "help": "Learning rate for FTRL optimization",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                },
                {
                    "name": "ftrl_beta",
                    "help": "Learning rate for FTRL optimization",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": false
                }
            ]
        },
        {
            "name": "Kernel SVM",
            "options": [
                {
                    "name": "ksvm",
                    "help": "kernel svm",
                    "short_name": "",
                    "keep": true,
                    "necessary": true,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "reprocess",
                    "help": "number of reprocess steps for LASVM",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "pool_greedy",
                    "help": "use greedy selection on mini pools",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "para_active",
                    "help": "do parallel active learning",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "pool_size",
                    "help": "size of pools for active learning",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "subsample",
                    "help": "number of items to subsample from the pool",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": true,
                    "default_value": 1
                },
                {
                    "name": "kernel",
                    "help": "type of kernel (rbf or linear (default))",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "string",
                    "has_default": true,
                    "default_value": "linear"
                },
                {
                    "name": "bandwidth",
                    "help": "bandwidth of rbf kernel",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 1.0
                },
                {
                    "name": "degree",
                    "help": "degree of poly kernel",
                    "short_name": "",
                    "keep": true,
                    "necessary": false,
                    "type": "int",
                    "has_default": true,
                    "default_value": 2
                }
            ]
        },
        {
            "name": "Gradient Descent options",
            "options": [
                {
                    "name": "sgd",
                    "help": "use regular stochastic gradient descent update.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "adaptive",
                    "help": "use adaptive, individual learning rates.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "adax",
                    "help": "use adaptive learning rates with x^2 instead of g^2x^2",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "invariant",
                    "help": "use safe/importance aware updates.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "normalized",
                    "help": "use per feature normalized updates",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "sparse_l2",
                    "help": "use per feature normalized updates",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "float",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "l1_state",
                    "help": "use per feature normalized updates",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "double",
                    "has_default": true,
                    "default_value": 0.0
                },
                {
                    "name": "l2_state",
                    "help": "use per feature normalized updates",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "double",
                    "has_default": true,
                    "default_value": 1.0
                }
            ]
        },
        {
            "name": "Input options",
            "options": [
                {
                    "name": "data",
                    "help": "Example set",
                    "short_name": "d",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "daemon",
                    "help": "persistent daemon mode on port 26542",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "foreground",
                    "help": "in persistent daemon mode, do not run in the background",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "port",
                    "help": "port to listen on; use 0 to pick unused port",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "num_children",
                    "help": "number of children for persistent daemon mode",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "uint64_t",
                    "has_default": false
                },
                {
                    "name": "pid_file",
                    "help": "Write pid file in persistent daemon mode",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "port_file",
                    "help": "Write port used in persistent daemon mode",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "string",
                    "has_default": false
                },
                {
                    "name": "cache",
                    "help": "Use a cache.  The default is <data>.cache",
                    "short_name": "c",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "cache_file",
                    "help": "The location(s) of cache_file.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "list<string>",
                    "has_default": false
                },
                {
                    "name": "json",
                    "help": "Enable JSON parsing.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "dsjson",
                    "help": "Enable Decision Service JSON parsing.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "kill_cache",
                    "help": "do not reuse existing cache: create a new one always",
                    "short_name": "k",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "compressed",
                    "help": "use gzip format whenever possible. If a cache file is being created, this option creates a compressed cache file. A mixture of raw-text & compressed inputs are supported with autodetection.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "no_stdin",
                    "help": "do not default to reading from stdin",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "no_daemon",
                    "help": "Force a loaded daemon or active learning model to accept local input instead of starting in daemon mode",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "chain_hash",
                    "help": "Enable chain hash in JSON for feature name and string feature value. e.g. {'A': {'B': 'C'}} is hashed as A^B^C. Note: this will become the default in a future version, so enabling this option will migrate you to the new behavior and silence the warning.",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                },
                {
                    "name": "flatbuffer",
                    "help": "data file will be interpreted as a flatbuffer file",
                    "short_name": "",
                    "keep": false,
                    "necessary": false,
                    "type": "bool",
                    "has_default": false
                }
            ]
        }
    ]
}

Clone this wiki locally