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

Commit

Permalink
Fix bug of webui's table (#407)
Browse files Browse the repository at this point in the history
* Fix bug

* fix lint
  • Loading branch information
lvybriage authored and chicm-ms committed Nov 28, 2018
1 parent 194af6f commit 8dc2a97
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 57 deletions.
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
};

0 comments on commit 8dc2a97

Please sign in to comment.