Unverified Commit 8ec32c3b authored by Lijiaoa's avatar Lijiaoa Committed by GitHub
Browse files

fix bug of !(object) !(number) metris (#2105)



* fix bug of !(object) !(number) metris

* fix comments
Co-authored-by: default avatarLijiao <35484733+lvybriage@users.noreply.github.com>
parent 9987014e
...@@ -45,6 +45,10 @@ function parseMetrics(metricData: string): any { ...@@ -45,6 +45,10 @@ function parseMetrics(metricData: string): any {
} }
} }
const isArrayType = (list: any): boolean | undefined => {
return Array.isArray(list);
}
// get final result value // get final result value
// draw Accuracy point graph // draw Accuracy point graph
const getFinalResult = (final?: MetricDataRecord[]): number => { const getFinalResult = (final?: MetricDataRecord[]): number => {
...@@ -52,12 +56,14 @@ const getFinalResult = (final?: MetricDataRecord[]): number => { ...@@ -52,12 +56,14 @@ const getFinalResult = (final?: MetricDataRecord[]): number => {
let showDefault = 0; let showDefault = 0;
if (final) { if (final) {
acc = parseMetrics(final[final.length - 1].data); acc = parseMetrics(final[final.length - 1].data);
if (typeof (acc) === 'object') { if (typeof (acc) === 'object' && !isArrayType(acc)) {
if (acc.default) { if (acc.default) {
showDefault = acc.default; showDefault = acc.default;
} }
} else { } else if (typeof (acc) === 'number') {
showDefault = acc; showDefault = acc;
} else {
showDefault = NaN;
} }
return showDefault; return showDefault;
} else { } else {
...@@ -72,8 +78,13 @@ const getFinal = (final?: MetricDataRecord[]): FinalType | undefined => { ...@@ -72,8 +78,13 @@ const getFinal = (final?: MetricDataRecord[]): FinalType | undefined => {
showDefault = parseMetrics(final[final.length - 1].data); showDefault = parseMetrics(final[final.length - 1].data);
if (typeof showDefault === 'number') { if (typeof showDefault === 'number') {
showDefault = { default: showDefault }; showDefault = { default: showDefault };
return showDefault;
} else if (isArrayType(showDefault)) {
// not support final type
return undefined;
} else if (typeof showDefault === 'object' && showDefault.hasOwnProperty('default')) {
return showDefault;
} }
return showDefault;
} else { } else {
return undefined; return undefined;
} }
...@@ -205,5 +216,6 @@ function formatAccuracy(accuracy: number): string { ...@@ -205,5 +216,6 @@ function formatAccuracy(accuracy: number): string {
export { export {
convertTime, convertDuration, getFinalResult, getFinal, downFile, convertTime, convertDuration, getFinalResult, getFinal, downFile,
intermediateGraphOption, killJob, filterByStatus, filterDuration, intermediateGraphOption, killJob, filterByStatus, filterDuration,
formatAccuracy, formatTimestamp, metricAccuracy, parseMetrics formatAccuracy, formatTimestamp, metricAccuracy, parseMetrics,
isArrayType
}; };
import { MetricDataRecord, TrialJobInfo, TableObj, TableRecord, Parameters, FinalType } from '../interface'; import { MetricDataRecord, TrialJobInfo, TableObj, TableRecord, Parameters, FinalType } from '../interface';
import { getFinal, formatAccuracy, metricAccuracy, parseMetrics } from '../function'; import { getFinal, formatAccuracy, metricAccuracy, parseMetrics, isArrayType } from '../function';
class Trial implements TableObj { class Trial implements TableObj {
private metricsInitialized: boolean = false; private metricsInitialized: boolean = false;
...@@ -55,9 +55,11 @@ class Trial implements TableObj { ...@@ -55,9 +55,11 @@ class Trial implements TableObj {
} else if (this.intermediates.length > 0) { } else if (this.intermediates.length > 0) {
const temp = this.intermediates[this.intermediates.length - 1]; const temp = this.intermediates[this.intermediates.length - 1];
if (temp !== undefined) { if (temp !== undefined) {
if (typeof parseMetrics(temp.data) === 'object') { if (isArrayType(parseMetrics(temp.data))) {
return undefined;
} else if (typeof parseMetrics(temp.data) === 'object' && parseMetrics(temp.data).hasOwnProperty('default')) {
return parseMetrics(temp.data).default; return parseMetrics(temp.data).default;
} else { } else if (typeof parseMetrics(temp.data) === 'number') {
return parseMetrics(temp.data); return parseMetrics(temp.data);
} }
} else { } else {
...@@ -67,7 +69,6 @@ class Trial implements TableObj { ...@@ -67,7 +69,6 @@ class Trial implements TableObj {
return undefined; return undefined;
} }
} }
/* table obj start */ /* table obj start */
get tableRecord(): TableRecord { get tableRecord(): TableRecord {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment