"docs/git@developer.sourcefind.cn:OpenDAS/nni.git" did not exist on "6d6f952463fb2eac87f775a8432a2e353c59a1c2"
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 {
}
}
const isArrayType = (list: any): boolean | undefined => {
return Array.isArray(list);
}
// get final result value
// draw Accuracy point graph
const getFinalResult = (final?: MetricDataRecord[]): number => {
......@@ -52,12 +56,14 @@ const getFinalResult = (final?: MetricDataRecord[]): number => {
let showDefault = 0;
if (final) {
acc = parseMetrics(final[final.length - 1].data);
if (typeof (acc) === 'object') {
if (typeof (acc) === 'object' && !isArrayType(acc)) {
if (acc.default) {
showDefault = acc.default;
}
} else {
} else if (typeof (acc) === 'number') {
showDefault = acc;
} else {
showDefault = NaN;
}
return showDefault;
} else {
......@@ -72,8 +78,13 @@ const getFinal = (final?: MetricDataRecord[]): FinalType | undefined => {
showDefault = parseMetrics(final[final.length - 1].data);
if (typeof showDefault === 'number') {
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 {
return undefined;
}
......@@ -205,5 +216,6 @@ function formatAccuracy(accuracy: number): string {
export {
convertTime, convertDuration, getFinalResult, getFinal, downFile,
intermediateGraphOption, killJob, filterByStatus, filterDuration,
formatAccuracy, formatTimestamp, metricAccuracy, parseMetrics
formatAccuracy, formatTimestamp, metricAccuracy, parseMetrics,
isArrayType
};
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 {
private metricsInitialized: boolean = false;
......@@ -55,9 +55,11 @@ class Trial implements TableObj {
} else if (this.intermediates.length > 0) {
const temp = this.intermediates[this.intermediates.length - 1];
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;
} else {
} else if (typeof parseMetrics(temp.data) === 'number') {
return parseMetrics(temp.data);
}
} else {
......@@ -67,7 +69,6 @@ class Trial implements TableObj {
return undefined;
}
}
/* table obj start */
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