From 5d60751a660895f30eea3e1454baa7f83f927644 Mon Sep 17 00:00:00 2001 From: cp3hnu Date: Fri, 16 May 2025 14:14:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=86=85=E5=B5=8Ctesorboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-ui/config/routes.ts | 5 +++++ react-ui/src/pages/Experiment/Tensorboard/index.tsx | 12 ++++++++++++ react-ui/src/pages/Experiment/index.jsx | 8 ++++++-- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 react-ui/src/pages/Experiment/Tensorboard/index.tsx diff --git a/react-ui/config/routes.ts b/react-ui/config/routes.ts index e64318e0..8ec050ae 100644 --- a/react-ui/config/routes.ts +++ b/react-ui/config/routes.ts @@ -148,6 +148,11 @@ export default [ path: 'compare-visual', component: './Experiment/Aim/index', }, + { + name: '可视化', + path: 'visual', + component: './Experiment/Tensorboard/index', + }, ], }, { diff --git a/react-ui/src/pages/Experiment/Tensorboard/index.tsx b/react-ui/src/pages/Experiment/Tensorboard/index.tsx new file mode 100644 index 00000000..7124d0de --- /dev/null +++ b/react-ui/src/pages/Experiment/Tensorboard/index.tsx @@ -0,0 +1,12 @@ +/* + * @Author: 赵伟 + * @Date: 2025-03-31 16:38:59 + * @Description: 实验可视化 Tensorboard + */ + +import IframePage, { IframePageType } from '@/components/IFramePage'; + +function TensorboardPage() { + return ; +} +export default TensorboardPage; diff --git a/react-ui/src/pages/Experiment/index.jsx b/react-ui/src/pages/Experiment/index.jsx index 1ecc7df1..dc2c03ca 100644 --- a/react-ui/src/pages/Experiment/index.jsx +++ b/react-ui/src/pages/Experiment/index.jsx @@ -2,6 +2,7 @@ import KFIcon from '@/components/KFIcon'; import PageTitle from '@/components/PageTitle'; import { ExperimentStatus, TensorBoardStatus } from '@/enums'; import { useCacheState } from '@/hooks/useCacheState'; +import { useServerTime } from '@/hooks/useServerTime'; import { deleteExperimentById, getExperiment, @@ -17,6 +18,7 @@ import { getWorkflow } from '@/services/pipeline/index.js'; import themes from '@/styles/theme.less'; import { ExperimentCompleted } from '@/utils/constant'; import { to } from '@/utils/promise'; +import SessionStorage from '@/utils/sessionStorage'; import tableCellRender, { TableCellValueType } from '@/utils/table'; import { modalConfirm } from '@/utils/ui'; import { App, Button, ConfigProvider, Dropdown, Input, Space, Table, Tooltip } from 'antd'; @@ -28,7 +30,6 @@ import AddExperimentModal from './components/AddExperimentModal'; import ExperimentInstanceList from './components/ExperimentInstanceList'; import styles from './index.less'; import { experimentStatusInfo } from './status'; -import { useServerTime } from '@/hooks/useServerTime'; // 定时器 const timerIds = new Map(); @@ -372,7 +373,10 @@ function Experiment() { experimentIn.tensorBoardStatus === TensorBoardStatus.Running && experimentIn.tensorboardUrl ) { - window.open(experimentIn.tensorboardUrl, '_blank'); + const url = experimentIn.tensorboardUrl; + SessionStorage.setItem(SessionStorage.tensorBoardUrlKey, url); + navigateToUrl(`/pipeline/experiment/visual`); + // window.open(experimentIn.tensorboardUrl, '_blank'); } };