Skip to content

[Optimizer] Multi-fidelity algorithms should explicitly check for a fidelity parameter #120

Closed
@eddiebergman

Description

@eddiebergman

Right now if running SH with no fidelity parameter available, it will raise this error

        super().__init__(
            pipeline_space=pipeline_space,
            budget=budget,
            loss_value_on_error=loss_value_on_error,
            cost_value_on_error=cost_value_on_error,
            ignore_errors=ignore_errors,
            logger=logger,
        )
        if random_interleave_prob < 0 or random_interleave_prob > 1:
            raise ValueError("random_interleave_prob should be in [0.0, 1.0]")
        self.random_interleave_prob = random_interleave_prob
        self.sample_default_first = sample_default_first
        self.sample_default_at_target = sample_default_at_target
    
>       self.min_budget = self.pipeline_space.fidelity.lower
E       AttributeError: 'NoneType' object has no attribute 'lower'

This is not very descriptive on how to solve the problem. If implementing #119, we can simply check this and emit it in the BaseOptimizer.

Also seems to occur from hyperband_custom_default while not happening for hyperband. Priorband requires it too.

Metadata

Metadata

Assignees

Labels

uxSomething that would improve user experience

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions