Exemple #1
0
        class _SubgroupOne(ParameterGroup):
            # Subgroup one of the nested group, with a couple of parameters
            header = string_attribute("Parameter group one")

            __ui_rules = UIRules(
                rules=[
                    Rule(
                        parameter=[
                            "nested_parameter_group", "show_subgroup_one"
                        ],
                        operator=Operator.EQUAL_TO,
                        value=False,
                    )
                ],
                action=Action.HIDE,
            )

            bogus_parameter_one = configurable_float(
                default_value=42,
                ui_rules=__ui_rules,
                header="Bogus parameter to test nested parameter groups",
            )
            bogus_parameter_two = configurable_float(
                default_value=42,
                ui_rules=__ui_rules,
                header="Bogus parameter to test nested parameter groups",
            )
Exemple #2
0
        class _SubgroupTwo(ParameterGroup):
            # Subgroup two of the nested group, with a couple of parameters
            header = string_attribute("Parameter group two")
            bogus_parameter_three = configurable_float(
                default_value=42,
                header="Bogus parameter to test nested parameter groups",
            )

            bogus_parameter_four = configurable_float(
                default_value=42,
                header="Bogus parameter to test nested parameter groups",
            )
Exemple #3
0
    class _SubsetParameters(ParameterGroup):
        # Parameters governing sample distribution over subsets
        header = string_attribute("Subset parameters")
        description = string_attribute("Parameters for the different subsets")

        # Add a parameter group 'Subset parameters'
        auto_subset_fractions = configurable_boolean(
            default_value=True,
            description="Test",
            header="Automatically determine subset proportions",
            affects_outcome_of=ModelLifecycle.TRAINING,
        )

        __ui_rules = UIRules(
            rules=[
                Rule(
                    parameter="auto_subset_fractions",
                    value=False,
                    operator=Operator.EQUAL_TO,
                )
            ],
            action=Action.SHOW,
        )

        train_proportion = configurable_float(
            default_value=0.75,
            min_value=0.0,
            max_value=1.0,
            header="Training set proportion",
            ui_rules=__ui_rules,
            affects_outcome_of=ModelLifecycle.TRAINING,
        )

        validation_proportion = configurable_float(
            default_value=0.1,
            min_value=0.0,
            max_value=1.0,
            header="Validation set proportion",
            ui_rules=__ui_rules,
            affects_outcome_of=ModelLifecycle.TRAINING,
        )

        test_proportion = configurable_float(
            default_value=0.15,
            min_value=0.0,
            max_value=1.0,
            header="Test set proportion",
            ui_rules=__ui_rules,
            affects_outcome_of=ModelLifecycle.TRAINING,
        )
    class __LearningParameters(ParameterGroup):
        header = string_attribute("Test Learning Parameters")
        description = header

        batch_size = configurable_integer(
            default_value=5,
            min_value=1,
            max_value=512,
            header="Test batch size",
            description=
            "The number of training samples seen in each iteration of training. Increasing this value "
            "improves training time and may make the training more stable. A larger batch size has higher "
            "memory requirements.",
            warning=
            "Increasing this value may cause the system to use more memory than available, "
            "potentially causing out of memory errors, please update with caution.",
            affects_outcome_of=ModelLifecycle.TRAINING,
        )

        num_iters = configurable_integer(
            default_value=1,
            min_value=1,
            max_value=100000,
            header="Number of training iterations",
            description=
            "Increasing this value causes the results to be more robust but training time will be longer.",
            affects_outcome_of=ModelLifecycle.TRAINING,
        )

        learning_rate = configurable_float(
            default_value=0.01,
            min_value=1e-07,
            max_value=1e-01,
            header="Learning rate",
            description=
            "Increasing this value will speed up training convergence but might make it unstable.",
            affects_outcome_of=ModelLifecycle.TRAINING,
        )

        learning_rate_warmup_iters = configurable_integer(
            default_value=100,
            min_value=1,
            max_value=10000,
            header="Number of iterations for learning rate warmup",
            description="Test learning rate warmup",
            affects_outcome_of=ModelLifecycle.TRAINING,
        )

        num_workers = configurable_integer(
            default_value=4,
            min_value=2,
            max_value=10,
            header="num_workers test header",
            description="num_workers test description",
            affects_outcome_of=ModelLifecycle.NONE,
        )
Exemple #5
0
    class __LearningParameters(ParameterGroup):
        header = string_attribute("Learning Parameters")
        description = header

        batch_size = configurable_integer(
            default_value=32,
            min_value=1,
            max_value=512,
            header="Batch size",
            description=
            "The number of training samples seen in each iteration of training. Increasing this value "
            "improves training time and may make the training more stable. A larger batch size has higher "
            "memory requirements.",
            warning=
            "Increasing this value may cause the system to use more memory than available, "
            "potentially causing out of memory errors, please update with caution.",
            affects_outcome_of=ModelLifecycle.TRAINING)

        max_num_epochs = configurable_integer(
            default_value=200,
            min_value=1,
            max_value=1000,
            header="Maximum number of training epochs",
            description=
            "Increasing this value causes the results to be more robust but training time "
            "will be longer.",
            affects_outcome_of=ModelLifecycle.TRAINING)

        learning_rate = configurable_float(
            default_value=0.01,
            min_value=1e-07,
            max_value=1e-01,
            header="Learning rate",
            description="Increasing this value will speed up training \
                         convergence but might make it unstable.",
            affects_outcome_of=ModelLifecycle.TRAINING)

        enable_lr_finder = configurable_boolean(
            default_value=False,
            header="Enable automatic learing rate estimation",
            description=
            "Learning rate parameter value will be ignored if enabled.",
            affects_outcome_of=ModelLifecycle.TRAINING)

        enable_early_stopping = configurable_boolean(
            default_value=True,
            header="Enable adaptive early stopping of the training",
            description="Adaptive early exit from training when accuracy isn't \
                         changed or decreased for several epochs.",
            affects_outcome_of=ModelLifecycle.TRAINING)
    class __Postprocessing(ParameterGroup):
        header = string_attribute("Test Postprocessing")
        description = header

        result_based_confidence_threshold = configurable_boolean(
            default_value=True,
            header="Test Result based confidence threshold",
            description="Test confidence threshold is derived from the results",
            affects_outcome_of=ModelLifecycle.INFERENCE,
        )

        confidence_threshold = configurable_float(
            default_value=0.25,
            min_value=0,
            max_value=1,
            header="Test Confidence threshold",
            description=
            "This threshold only takes effect if the threshold is not set based on the result.--Only test",
            affects_outcome_of=ModelLifecycle.INFERENCE,
        )
Exemple #7
0
    class __NNCFOptimization(ParameterGroup):
        header = string_attribute("Optimization by NNCF")
        description = header

        enable_quantization = configurable_boolean(
            default_value=True,
            header="Enable quantization algorithm",
            description="Enable quantization algorithm",
            affects_outcome_of=ModelLifecycle.TRAINING)

        enable_pruning = configurable_boolean(
            default_value=False,
            header="Enable filter pruning algorithm",
            description="Enable filter pruning algorithm",
            affects_outcome_of=ModelLifecycle.TRAINING)

        maximal_accuracy_degradation = configurable_float(
            default_value=1.0,
            min_value=0.0,
            max_value=100.0,
            header="Maximum accuracy degradation",
            description="The maximal allowed accuracy metric drop",
            affects_outcome_of=ModelLifecycle.TRAINING)