From ca24cb1854733f48296da820c9076cdb55cdb7a3 Mon Sep 17 00:00:00 2001 From: c-bata Date: Sat, 24 Oct 2020 18:00:59 +0900 Subject: [PATCH] Set study_id in trial --- optuna_dashboard/serializer.py | 15 ++++++++--- optuna_dashboard/static/apiClient.ts | 32 +++++++++++++++++++++--- optuna_dashboard/static/types/index.d.ts | 2 +- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/optuna_dashboard/serializer.py b/optuna_dashboard/serializer.py index ad9eee8d..586d271d 100644 --- a/optuna_dashboard/serializer.py +++ b/optuna_dashboard/serializer.py @@ -30,7 +30,9 @@ def serialize_study_summary(summary: StudySummary) -> Dict[str, Any]: serialized["datetime_start"] = (summary.datetime_start.isoformat(),) if summary.best_trial: # Make undefined if None - serialized["best_trial"] = serialize_frozen_trial(summary.best_trial) + serialized["best_trial"] = serialize_frozen_trial( + summary._study_id, summary.best_trial + ) return serialized @@ -46,15 +48,20 @@ def serialize_study_detail( serialized["datetime_start"] = summary.datetime_start.isoformat() if summary.best_trial is not None: - serialized["best_trial"] = serialize_frozen_trial(summary.best_trial) + serialized["best_trial"] = serialize_frozen_trial( + summary._study_id, summary.best_trial + ) - serialized["trials"] = [serialize_frozen_trial(trial) for trial in trials] + serialized["trials"] = [ + serialize_frozen_trial(summary._study_id, trial) for trial in trials + ] return serialized -def serialize_frozen_trial(trial: FrozenTrial) -> Dict[str, Any]: +def serialize_frozen_trial(study_id: int, trial: FrozenTrial) -> Dict[str, Any]: serialized = { "trial_id": trial._trial_id, + "study_id": study_id, "number": trial.number, "state": trial.state.name.capitalize(), "intermediate_values": serialize_intermediate_values(trial.intermediate_values), diff --git a/optuna_dashboard/static/apiClient.ts b/optuna_dashboard/static/apiClient.ts index b9cc6858..fec2d692 100644 --- a/optuna_dashboard/static/apiClient.ts +++ b/optuna_dashboard/static/apiClient.ts @@ -83,7 +83,7 @@ interface StudySummariesResponse { } user_attrs: Attribute[] system_attrs: Attribute[] - datetime_start: string + datetime_start?: string }[] } @@ -103,7 +103,9 @@ export const getStudySummariesAPI = (): Promise => { best_trial: best_trial, user_attrs: study.user_attrs, system_attrs: study.system_attrs, - datetime_start: new Date(study.datetime_start), + datetime_start: study.datetime_start + ? new Date(study.datetime_start) + : undefined, } } ) @@ -111,7 +113,27 @@ export const getStudySummariesAPI = (): Promise => { } interface CreateNewStudyResponse { - study_summary: StudySummary + study_summary: { + study_id: number + study_name: string + direction: StudyDirection + best_trial?: { + trial_id: number + study_id: number + number: number + state: TrialState + value?: number + intermediate_values: TrialIntermediateValue[] + datetime_start: string + datetime_complete?: string + params: TrialParam[] + user_attrs: Attribute[] + system_attrs: Attribute[] + } + user_attrs: Attribute[] + system_attrs: Attribute[] + datetime_start?: string + } } export const createNewStudyAPI = ( @@ -132,7 +154,9 @@ export const createNewStudyAPI = ( // best_trial: undefined, user_attrs: study_summary.user_attrs, system_attrs: study_summary.system_attrs, - datetime_start: new Date(study_summary.datetime_start), + datetime_start: study_summary.datetime_start + ? new Date(study_summary.datetime_start) + : undefined, } }) } diff --git a/optuna_dashboard/static/types/index.d.ts b/optuna_dashboard/static/types/index.d.ts index 72be37f5..9e382ff2 100644 --- a/optuna_dashboard/static/types/index.d.ts +++ b/optuna_dashboard/static/types/index.d.ts @@ -46,7 +46,7 @@ declare interface StudySummary { best_trial?: Trial user_attrs: Attribute[] system_attrs: Attribute[] - datetime_start: Date + datetime_start?: Date } declare interface StudyDetail {