Skip to content
This repository has been archived by the owner on Sep 18, 2024. It is now read-only.

Fix bug of webui's table #407

Merged
merged 2 commits into from
Nov 28, 2018
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
16 changes: 3 additions & 13 deletions src/webui/src/components/Overview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
Experiment, TableObj,
Parameters, TrialNumber
} from '../static/interface';
import { getFinalResult } from '../static/function';
import SuccessTable from './overview/SuccessTable';
import Title1 from './overview/Title1';
import Progressed from './overview/Progress';
Expand Down Expand Up @@ -215,18 +216,7 @@ class Overview extends React.Component<{}, OverviewState> {
parameters: {}
};
const duration = (tableData[item].endTime - tableData[item].startTime) / 1000;
let acc;
let tableAcc = 0;
if (tableData[item].finalMetricData) {
acc = JSON.parse(tableData[item].finalMetricData.data);
if (typeof (acc) === 'object') {
if (acc.default) {
tableAcc = acc.default;
}
} else {
tableAcc = acc;
}
}
const acc = getFinalResult(tableData[item].finalMetricData);
// if hyperparameters is undefine, show error message, else, show parameters value
if (tableData[item].hyperParameters) {
desJobDetail.parameters = JSON.parse(tableData[item].hyperParameters).parameters;
Expand All @@ -246,7 +236,7 @@ class Overview extends React.Component<{}, OverviewState> {
id: tableData[item].id,
duration: duration,
status: tableData[item].status,
acc: tableAcc,
acc: acc,
description: desJobDetail
});
break;
Expand Down
31 changes: 5 additions & 26 deletions src/webui/src/components/TrialsDetail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { MANAGER_IP } from '../static/const';
import { Row, Col, Button, Tabs, Input } from 'antd';
const Search = Input.Search;
import { TableObj, Parameters, DetailAccurPoint, TooltipForAccuracy } from '../static/interface';
import { getFinalResult } from '../static/function';
import Accuracy from './overview/Accuracy';
import Duration from './trial-detail/Duration';
import Title1 from './overview/Title1';
Expand Down Expand Up @@ -47,24 +48,13 @@ class TrialsDetail extends React.Component<{}, TrialDetailState> {
const accSource: Array<DetailAccurPoint> = [];
Object.keys(accData).map(item => {
if (accData[item].status === 'SUCCEEDED' && accData[item].finalMetricData) {
let acc;
let tableAcc;
let searchSpace: object = {};
if (accData[item].finalMetricData) {
acc = JSON.parse(accData[item].finalMetricData.data);
if (typeof (acc) === 'object') {
if (acc.default) {
tableAcc = acc.default;
}
} else {
tableAcc = acc;
}
}
const acc = getFinalResult(accData[item].finalMetricData);
if (accData[item].hyperParameters) {
searchSpace = JSON.parse(accData[item].hyperParameters).parameters;
}
accSource.push({
acc: tableAcc,
acc: acc,
index: accData[item].sequenceId,
searchSpace: JSON.stringify(searchSpace)
});
Expand Down Expand Up @@ -147,8 +137,6 @@ class TrialsDetail extends React.Component<{}, TrialDetailState> {
parameters: {},
intermediate: []
};
let acc;
let tableAcc = 0;
let duration = 0;
const id = trialJobs[item].id !== undefined
? trialJobs[item].id
Expand Down Expand Up @@ -185,23 +173,14 @@ class TrialsDetail extends React.Component<{}, TrialDetailState> {
}
});
desc.intermediate = mediate;
if (trialJobs[item].finalMetricData !== undefined) {
acc = JSON.parse(trialJobs[item].finalMetricData.data);
if (typeof (acc) === 'object') {
if (acc.default) {
tableAcc = acc.default;
}
} else {
tableAcc = acc;
}
}
const acc = getFinalResult(trialJobs[item].finalMetricData);
trialTable.push({
key: trialTable.length,
sequenceId: trialJobs[item].sequenceId,
id: id,
status: status,
duration: duration,
acc: tableAcc,
acc: acc,
description: desc
});
});
Expand Down
2 changes: 1 addition & 1 deletion src/webui/src/components/overview/SuccessTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class SuccessTable extends React.Component<SuccessTableProps, {}> {
:
record.acc
:
'NaN'
'--'
}
</div>
);
Expand Down
18 changes: 5 additions & 13 deletions src/webui/src/components/trial-detail/Para.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { MANAGER_IP } from '../../static/const';
import ReactEcharts from 'echarts-for-react';
import { Row, Col, Select, Button, message } from 'antd';
import { ParaObj, VisualMapValue, Dimobj } from '../../static/interface';
import { getFinalResult } from '../../static/function';
const Option = Select.Option;
require('echarts/lib/chart/parallel');
require('echarts/lib/component/tooltip');
Expand Down Expand Up @@ -156,19 +157,10 @@ class Para extends React.Component<{}, ParaState> {
// trial-jobs interface list
Object.keys(accParaData).map(item => {
if (accParaData[item].status === 'SUCCEEDED') {
if (accParaData[item].finalMetricData && accParaData[item].hyperParameters) {
// get acc array
let acc;
let accReal;
acc = JSON.parse(accParaData[item].finalMetricData.data);
if (typeof (acc) === 'object') {
if (acc.default) {
accReal = acc.default;
}
} else {
accReal = acc;
}
accPara.push(accReal);
const finalData = accParaData[item].finalMetricData;
if (finalData && accParaData[item].hyperParameters) {
const result = getFinalResult(finalData);
accPara.push(result);
// get dim and every line specific number
const temp = JSON.parse(accParaData[item].hyperParameters).parameters;
eachTrialParams.push(temp);
Expand Down
2 changes: 1 addition & 1 deletion src/webui/src/components/trial-detail/TableList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ class TableList extends React.Component<TableListProps, TableListState> {
:
record.acc
:
'NaN'
'--'
}
</div>
);
Expand Down
23 changes: 22 additions & 1 deletion src/webui/src/static/function.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { FinalResult } from './interface';

export const convertTime = (num: number) => {
if (num % 3600 === 0) {
return num / 3600 + 'h';
Expand All @@ -23,4 +25,23 @@ export const convertDuration = (num: number) => {
} else {
return result;
}
};
};

// get final result value
export const getFinalResult = (final: FinalResult) => {
let acc;
let showDefault = 0;
if (final) {
acc = JSON.parse(final[0].data);
if (typeof (acc) === 'object') {
if (acc.default) {
showDefault = acc.default;
}
} else {
showDefault = acc;
}
return showDefault;
} else {
return 0;
}
};
8 changes: 6 additions & 2 deletions src/webui/src/static/interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,13 @@ interface VisualMapValue {
minAccuracy: number;
}

interface FinalResult {
data: string;
}

export {
TableObj, Parameters, Experiment,
AccurPoint, TrialNumber, TrialJob,
DetailAccurPoint, TooltipForAccuracy,
ParaObj, VisualMapValue, Dimobj
};
ParaObj, VisualMapValue, Dimobj, FinalResult
};