diff --git a/optuna_dashboard/_serializer.py b/optuna_dashboard/_serializer.py index a037290e..0fa04124 100644 --- a/optuna_dashboard/_serializer.py +++ b/optuna_dashboard/_serializer.py @@ -131,6 +131,7 @@ def serialize_study_detail( serialized: dict[str, Any] = { "name": summary.study_name, "directions": [d.name.lower() for d in summary.directions], + "user_attrs": serialize_attrs(summary.user_attrs), } system_attrs = getattr(summary, "system_attrs", {}) if summary.datetime_start is not None: diff --git a/optuna_dashboard/ts/apiClient.ts b/optuna_dashboard/ts/apiClient.ts index d9881715..5068dc3e 100644 --- a/optuna_dashboard/ts/apiClient.ts +++ b/optuna_dashboard/ts/apiClient.ts @@ -59,6 +59,7 @@ interface StudyDetailResponse { name: string datetime_start: string directions: StudyDirection[] + user_attrs: Attribute[] trials: TrialResponse[] best_trials: TrialResponse[] intersection_search_space: SearchSpaceItem[] @@ -93,6 +94,7 @@ export const getStudyDetailAPI = ( name: res.data.name, datetime_start: new Date(res.data.datetime_start), directions: res.data.directions, + user_attrs: res.data.user_attrs, trials: trials, best_trials: best_trials, union_search_space: res.data.union_search_space, diff --git a/optuna_dashboard/ts/components/StudyHistory.tsx b/optuna_dashboard/ts/components/StudyHistory.tsx index ce30fc44..b47c557a 100644 --- a/optuna_dashboard/ts/components/StudyHistory.tsx +++ b/optuna_dashboard/ts/components/StudyHistory.tsx @@ -39,7 +39,7 @@ export const StudyHistory: FC<{ studyId: number }> = ({ studyId }) => { setIncludePruned(!includePruned) } - const userAttrs = studySummary?.user_attrs || [] + const userAttrs = studySummary?.user_attrs || studyDetail?.user_attrs || [] const userAttrColumns: DataGridColumn[] = [ { field: "key", label: "Key", sortable: true }, { field: "value", label: "Value", sortable: true }, diff --git a/optuna_dashboard/ts/types/index.d.ts b/optuna_dashboard/ts/types/index.d.ts index 7f661525..1720cc6b 100644 --- a/optuna_dashboard/ts/types/index.d.ts +++ b/optuna_dashboard/ts/types/index.d.ts @@ -185,6 +185,7 @@ type StudyDetail = { id: number name: string directions: StudyDirection[] + user_attrs: Attribute[] datetime_start: Date best_trials: Trial[] trials: Trial[]