Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete code for optuna v2 #783

Merged
merged 3 commits into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 4 additions & 54 deletions optuna_dashboard/_serializer.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import numpy as np
from optuna.distributions import BaseDistribution
from optuna.distributions import CategoricalDistribution
from optuna.distributions import FloatDistribution
from optuna.distributions import IntDistribution
from optuna.study import StudySummary
from optuna.trial import FrozenTrial

Expand Down Expand Up @@ -291,8 +293,7 @@


def serialize_distribution(distribution: BaseDistribution) -> DistributionJSON:
if distribution.__class__.__name__ == "FloatDistribution":
# Added from Optuna v3.0
if isinstance(distribution, FloatDistribution):
float_distribution: FloatDistributionJSON = {
"type": "FloatDistribution",
"low": getattr(distribution, "low"),
Expand All @@ -301,38 +302,7 @@
"log": getattr(distribution, "log"),
}
return float_distribution
if distribution.__class__.__name__ == "UniformDistribution":
# Deprecated from Optuna v3.0
uniform: FloatDistributionJSON = {
"type": "FloatDistribution",
"low": getattr(distribution, "low"),
"high": getattr(distribution, "high"),
"step": 0,
"log": False,
}
return uniform
if distribution.__class__.__name__ == "LogUniformDistribution":
# Deprecated from Optuna v3.0
log_uniform: FloatDistributionJSON = {
"type": "FloatDistribution",
"low": getattr(distribution, "low"),
"high": getattr(distribution, "high"),
"step": 0,
"log": True,
}
return log_uniform
if distribution.__class__.__name__ == "DiscreteUniformDistribution":
# Deprecated from Optuna v3.0
discrete_uniform: FloatDistributionJSON = {
"type": "FloatDistribution",
"low": getattr(distribution, "low"),
"high": getattr(distribution, "high"),
"step": getattr(distribution, "q"),
"log": False,
}
return discrete_uniform
if distribution.__class__.__name__ == "IntDistribution":
# Added from Optuna v3.0
if isinstance(distribution, IntDistribution):

Check warning on line 305 in optuna_dashboard/_serializer.py

View check run for this annotation

Codecov / codecov/patch

optuna_dashboard/_serializer.py#L305

Added line #L305 was not covered by tests
int_distribution: IntDistributionJSON = {
"type": "IntDistribution",
"low": getattr(distribution, "low"),
Expand All @@ -341,26 +311,6 @@
"log": getattr(distribution, "log"),
}
return int_distribution
if distribution.__class__.__name__ == "IntUniformDistribution":
# Deprecated from Optuna v3.0
int_uniform: IntDistributionJSON = {
"type": "IntDistribution",
"low": getattr(distribution, "low"),
"high": getattr(distribution, "high"),
"step": getattr(distribution, "step"),
"log": False,
}
return int_uniform
if distribution.__class__.__name__ == "IntLogUniformDistribution":
# Deprecated from Optuna v3.0
int_log_uniform: IntDistributionJSON = {
"type": "IntDistribution",
"low": getattr(distribution, "low"),
"high": getattr(distribution, "high"),
"step": getattr(distribution, "step"),
"log": True,
}
return int_log_uniform
if isinstance(distribution, CategoricalDistribution):
categorical: CategoricalDistributionJSON = {
"type": "CategoricalDistribution",
Expand Down
34 changes: 6 additions & 28 deletions optuna_dashboard/_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
from optuna.study import StudyDirection
from optuna.study import StudySummary
from optuna.trial import FrozenTrial
from optuna.version import __version__ as optuna_ver
from packaging import version


if typing.TYPE_CHECKING:
Expand Down Expand Up @@ -45,30 +43,17 @@
return trials
trials = storage.get_all_trials(study_id, deepcopy=False)

if (
# See https://github.com/optuna/optuna/pull/3702
version.parse(optuna_ver) <= version.Version("3.0.0rc0.dev")
and isinstance(storage, RDBStorage)
and storage.url.startswith("postgresql")
):
trials = sorted(trials, key=lambda t: t.number)

with trials_cache_lock:
trials_last_fetched_at[study_id] = datetime.now()
trials_cache[study_id] = trials
return trials


def get_study_summaries(storage: BaseStorage) -> list[StudySummary]:
if version.parse(optuna_ver) >= version.Version("3.0.0rc0.dev"):
frozen_studies = storage.get_all_studies() # type: ignore
if isinstance(storage, RDBStorage):
frozen_studies = sorted(frozen_studies, key=lambda s: s._study_id)
return [_frozen_study_to_study_summary(s) for s in frozen_studies]
elif version.parse(optuna_ver) >= version.Version("3.0.0b0.dev"):
return storage.get_all_study_summaries(include_best_trial=False) # type: ignore
else:
return storage.get_all_study_summaries() # type: ignore
frozen_studies = storage.get_all_studies()
if isinstance(storage, RDBStorage):
frozen_studies = sorted(frozen_studies, key=lambda s: s._study_id)

Check warning on line 55 in optuna_dashboard/_storage.py

View check run for this annotation

Codecov / codecov/patch

optuna_dashboard/_storage.py#L55

Added line #L55 was not covered by tests
return [_frozen_study_to_study_summary(s) for s in frozen_studies]


def get_study_summary(storage: BaseStorage, study_id: int) -> StudySummary | None:
Expand All @@ -83,18 +68,11 @@
def create_new_study(
storage: BaseStorage, study_name: str, directions: list[StudyDirection]
) -> int:
if version.parse(optuna_ver) >= version.Version("3.1.0.dev") and version.parse(
optuna_ver
) != version.Version("3.1.0b0"):
study_id = storage.create_new_study(directions, study_name=study_name) # type: ignore
else:
study_id = storage.create_new_study(study_name) # type: ignore
storage.set_study_directions(study_id, directions) # type: ignore
study_id = storage.create_new_study(directions, study_name=study_name)
return study_id


# TODO(c-bata): Remove type:ignore after released Optuna v3.0.0rc0.
def _frozen_study_to_study_summary(frozen_study: "FrozenStudy") -> StudySummary: # type: ignore
def _frozen_study_to_study_summary(frozen_study: "FrozenStudy") -> StudySummary:
is_single = len(frozen_study.directions) == 1
return StudySummary(
study_name=frozen_study.study_name,
Expand Down
Loading