diff --git a/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/Error.tsx b/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/Error.tsx
new file mode 100644
index 00000000000..25bcd228c1d
--- /dev/null
+++ b/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/Error.tsx
@@ -0,0 +1,42 @@
+import { West } from "@mui/icons-material";
+import { Box, Button, Card, Stack, Typography } from "@mui/material";
+import React from "react";
+import ErrorIcon from "./ErrorIcon";
+
+export default function Error(props) {
+ const { onBack, error } = props;
+ console.log(">>>", { error });
+ return (
+
+
+ } color="secondary">
+ Back to Model Evaluation
+
+
+
+
+
+
+ Analyze and improve models collaboratively with your team
+
+
+ The Model Evaluation panel currently supports only classification,
+ detection, and segmentation evaluations
+
+
+
+
+ );
+}
+
+type ErrorProps = {
+ onBack: () => void;
+ error: any;
+};
diff --git a/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/ErrorIcon.tsx b/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/ErrorIcon.tsx
new file mode 100644
index 00000000000..8f595c416de
--- /dev/null
+++ b/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/ErrorIcon.tsx
@@ -0,0 +1,33 @@
+import { SvgIcon, SvgIconProps } from "@mui/material";
+import React from "react";
+
+export default function ErrorIcon(props: SvgIconProps) {
+ return (
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/Evaluation.tsx b/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/Evaluation.tsx
index 69aa0a4b395..9219ab56493 100644
--- a/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/Evaluation.tsx
+++ b/app/packages/core/src/plugins/SchemaIO/components/NativeModelEvaluationView/Evaluation.tsx
@@ -42,6 +42,7 @@ import {
} from "@mui/material";
import React, { useEffect, useMemo, useState } from "react";
import { useRecoilState, useSetRecoilState } from "recoil";
+import Error from "./Error";
import EvaluationNotes from "./EvaluationNotes";
import EvaluationPlot from "./EvaluationPlot";
import Status from "./Status";
@@ -90,6 +91,14 @@ export default function Evaluation(props: EvaluationProps) {
const evaluation = data?.[`evaluation_${compareKey}`];
return evaluation;
}, [data]);
+ const evaluationError = useMemo(() => {
+ const evaluation = data?.[`evaluation_${name}_error`];
+ return evaluation;
+ }, [data]);
+ const compareEvaluationError = useMemo(() => {
+ const evaluation = data?.[`evaluation_${compareKey}_error`];
+ return evaluation;
+ }, [data]);
const confusionMatrix = useMemo(() => {
return getMatrix(evaluation?.confusion_matrices, confusionMatrixConfig);
}, [evaluation, confusionMatrixConfig]);
@@ -145,6 +154,10 @@ export default function Evaluation(props: EvaluationProps) {
setConfusionMatrixDialogConfig((state) => ({ ...state, open: false }));
};
+ if (evaluationError) {
+ return ;
+ }
+
if (!evaluation) {
return (
- Compare against
+
+ Compare against
+ {compareEvaluationError && (
+
+ Unsupported model evaluation type
+
+ )}
+
{compareKeys.length === 0 ? (