From e7808b0d839865be52ea6635d5041c4468f450fe Mon Sep 17 00:00:00 2001 From: phi Date: Sat, 21 Sep 2024 01:34:18 +0900 Subject: [PATCH 1/4] fix: replace dict with Mapping --- bayes_opt/domain_reduction.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bayes_opt/domain_reduction.py b/bayes_opt/domain_reduction.py index 39657f283..317aa5dc7 100644 --- a/bayes_opt/domain_reduction.py +++ b/bayes_opt/domain_reduction.py @@ -8,6 +8,7 @@ from __future__ import annotations from abc import ABC, abstractmethod +from collections.abc import Iterable, Mapping, Sequence from typing import TYPE_CHECKING, Any from warnings import warn @@ -16,8 +17,6 @@ from bayes_opt.target_space import TargetSpace if TYPE_CHECKING: - from collections.abc import Iterable, Mapping, Sequence - from numpy.typing import NDArray Float = np.floating[Any] @@ -71,7 +70,8 @@ def __init__( self.gamma_osc = gamma_osc self.gamma_pan = gamma_pan self.eta = eta - if isinstance(minimum_window, dict): + + if isinstance(minimum_window, Mapping): self.minimum_window_value = [ item[1] for item in sorted(minimum_window.items(), key=lambda x: x[0]) ] From c0d2adf7a68b06a55f6345c893782786e1c407fb Mon Sep 17 00:00:00 2001 From: phi Date: Sat, 21 Sep 2024 01:34:45 +0900 Subject: [PATCH 2/4] fix: replace list with Sequence --- bayes_opt/domain_reduction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bayes_opt/domain_reduction.py b/bayes_opt/domain_reduction.py index 317aa5dc7..48b83e502 100644 --- a/bayes_opt/domain_reduction.py +++ b/bayes_opt/domain_reduction.py @@ -91,7 +91,7 @@ def initialize(self, target_space: TargetSpace) -> None: self.bounds = [self.original_bounds] # Set the minimum window to an array of length bounds - if isinstance(self.minimum_window_value, (list, np.ndarray)): + if isinstance(self.minimum_window_value, (Sequence, np.ndarray)): if len(self.minimum_window_value) != len(target_space.bounds): error_msg = "Length of minimum_window must be the same as the number of parameters" raise ValueError(error_msg) From 3ba5e615145fe74a34c67afcc1189ff2095c77a0 Mon Sep 17 00:00:00 2001 From: phi Date: Sat, 21 Sep 2024 01:46:10 +0900 Subject: [PATCH 3/4] fix: add type hint --- bayes_opt/domain_reduction.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bayes_opt/domain_reduction.py b/bayes_opt/domain_reduction.py index 48b83e502..eb2a7d46d 100644 --- a/bayes_opt/domain_reduction.py +++ b/bayes_opt/domain_reduction.py @@ -71,6 +71,7 @@ def __init__( self.gamma_pan = gamma_pan self.eta = eta + self.minimum_window_value: NDArray[Float] | Sequence[float] | float | None if isinstance(minimum_window, Mapping): self.minimum_window_value = [ item[1] for item in sorted(minimum_window.items(), key=lambda x: x[0]) @@ -90,6 +91,7 @@ def initialize(self, target_space: TargetSpace) -> None: self.original_bounds = np.copy(target_space.bounds) self.bounds = [self.original_bounds] + self.minimum_window: NDArray[Float] | Sequence[float] | Sequence[None] # not Sequence[float | None] # Set the minimum window to an array of length bounds if isinstance(self.minimum_window_value, (Sequence, np.ndarray)): if len(self.minimum_window_value) != len(target_space.bounds): From 094c2acefb86c23ca6ab49c1cad12bb8b0a91583 Mon Sep 17 00:00:00 2001 From: phi Date: Tue, 1 Oct 2024 17:47:22 +0900 Subject: [PATCH 4/4] fix: does not accept None --- bayes_opt/domain_reduction.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bayes_opt/domain_reduction.py b/bayes_opt/domain_reduction.py index eb2a7d46d..c5be31951 100644 --- a/bayes_opt/domain_reduction.py +++ b/bayes_opt/domain_reduction.py @@ -65,13 +65,13 @@ def __init__( gamma_osc: float = 0.7, gamma_pan: float = 1.0, eta: float = 0.9, - minimum_window: NDArray[Float] | Sequence[float] | float | Mapping[str, float] | None = 0.0, + minimum_window: NDArray[Float] | Sequence[float] | Mapping[str, float] | float = 0.0, ) -> None: self.gamma_osc = gamma_osc self.gamma_pan = gamma_pan self.eta = eta - self.minimum_window_value: NDArray[Float] | Sequence[float] | float | None + self.minimum_window_value: NDArray[Float] | Sequence[float] | float if isinstance(minimum_window, Mapping): self.minimum_window_value = [ item[1] for item in sorted(minimum_window.items(), key=lambda x: x[0]) @@ -91,7 +91,7 @@ def initialize(self, target_space: TargetSpace) -> None: self.original_bounds = np.copy(target_space.bounds) self.bounds = [self.original_bounds] - self.minimum_window: NDArray[Float] | Sequence[float] | Sequence[None] # not Sequence[float | None] + self.minimum_window: NDArray[Float] | Sequence[float] # Set the minimum window to an array of length bounds if isinstance(self.minimum_window_value, (Sequence, np.ndarray)): if len(self.minimum_window_value) != len(target_space.bounds):