diff --git a/src/renderer/components/Experiment/Eval/EvalJobsTable.tsx b/src/renderer/components/Experiment/Eval/EvalJobsTable.tsx index 111fe2a7468ab06bac259f33b468f22cbd8c4f8a..e202bbbe44cc4e035af2a31210d92fc0f91fb334 100644 --- a/src/renderer/components/Experiment/Eval/EvalJobsTable.tsx +++ b/src/renderer/components/Experiment/Eval/EvalJobsTable.tsx @@ -16,11 +16,13 @@ import { FileDigitIcon, Grid3X3Icon, Trash2Icon, + LineChartIcon, Type, } from 'lucide-react'; import { useState, useEffect } from 'react'; import useSWR from 'swr'; import * as chatAPI from '../../../lib/transformerlab-api-sdk'; +import TensorboardModal from '../Train/TensorboardModal'; import ViewOutputModalStreaming from './ViewOutputModalStreaming'; import ViewCSVModal from './ViewCSVModal'; import ViewPlotModal from './ViewPlotModal'; @@ -96,8 +98,8 @@ const EvalJobsTable = () => { const [openPlotModal, setOpenPlotModal] = useState(false); const [currentJobId, setCurrentJobId] = useState(''); const [currentScore, setCurrentScore] = useState(''); - const [fileNameForDetailedReport, setFileNameForDetailedReport] = - useState(''); + const [currentTensorboardForModal, setCurrentTensorboardForModal] = useState(-1); + const [fileNameForDetailedReport, setFileNameForDetailedReport] = useState(''); const fetchCSV = async (jobId) => { const response = await fetch( @@ -151,6 +153,10 @@ const EvalJobsTable = () => { setFileName={setFileNameForDetailedReport} fileName={fileNameForDetailedReport} /> + <TensorboardModal + currentTensorboard={currentTensorboardForModal} + setCurrentTensorboard={setCurrentTensorboardForModal} + /> <Box sx={{ display: 'flex', @@ -172,6 +178,8 @@ const EvalJobsTable = () => { </Typography> )} </Box> + + <Typography level="h3">Executions</Typography> <Sheet sx={{ overflowY: 'scroll' }}> <Table stickyHeader> <thead> @@ -285,6 +293,18 @@ const EvalJobsTable = () => { variant="soft" sx={{ justifyContent: 'flex-end' }} > + {job?.job_data?.tensorboard_output_dir && ( + <Button + size="sm" + variant="plain" + onClick={() => { + setCurrentTensorboardForModal(job?.id); + }} + startDecorator={<LineChartIcon />} + > + Tensorboard + </Button> + )} <Button onClick={() => { setViewOutputFromJob(job?.id); diff --git a/src/renderer/components/Experiment/Eval/EvalModal.tsx b/src/renderer/components/Experiment/Eval/EvalModal.tsx index 04dde6ec240c8a21929d98288010c0a4cb7b50ed..e005a54be5ab5b28e508a2fc4e64911b254a947a 100644 --- a/src/renderer/components/Experiment/Eval/EvalModal.tsx +++ b/src/renderer/components/Experiment/Eval/EvalModal.tsx @@ -287,7 +287,7 @@ export default function EvalModal({ } else { console.log('formJson:', formJson); const template_name = formJson.template_name; - delete formJson.template_name; + // delete formJson.template_name; const result = await chatAPI.EXPERIMENT_ADD_EVALUATION( experimentInfo?.id, template_name,