@@ -13,6 +13,7 @@ import { ModelPropertiesSkeleton } from "./skeletons";
13
13
import CodeBlock from "@/components/ui/codeblock/codeblock" ;
14
14
import ChevronDownIcon from "@/components/ui/icons/chevron-down" ;
15
15
import { APP_CONTENT , cn } from "@/utils" ;
16
+ import { ENVS } from "@/config/env" ;
16
17
17
18
enum TrainingStatus {
18
19
FAILED = "FAILED" ,
@@ -74,13 +75,13 @@ const PropertyDisplay: React.FC<PropertyDisplayProps> = ({
74
75
type ModelPropertiesProps = {
75
76
trainingId : number ;
76
77
accuracy ?: number ;
77
- thumbnailURL ?: string ;
78
+ datasetId ?: number ;
78
79
isTrainingDetailsDialog ?: boolean ;
79
80
} ;
80
81
81
82
const ModelProperties : React . FC < ModelPropertiesProps > = ( {
82
83
trainingId,
83
- thumbnailURL ,
84
+ datasetId ,
84
85
isTrainingDetailsDialog = false ,
85
86
} ) => {
86
87
const { isPending, data, error, isError } = useTrainingDetails ( trainingId ) ;
@@ -106,6 +107,9 @@ const ModelProperties: React.FC<ModelPropertiesProps> = ({
106
107
source_imagery,
107
108
} = data || { } ;
108
109
110
+
111
+ const trainingResultsGraph = `${ ENVS . BASE_API_URL } workspace/download/dataset_${ datasetId } /output/training_${ data ?. id } /graphs/training_validation_sparse_categorical_accuracy.png`
112
+
109
113
const content = useMemo ( ( ) => {
110
114
if ( isPending ) {
111
115
return < ModelPropertiesSkeleton isTrainingDetailsDialog /> ;
@@ -114,7 +118,7 @@ const ModelProperties: React.FC<ModelPropertiesProps> = ({
114
118
return (
115
119
< div
116
120
className = { cn (
117
- `grid ${ isTrainingDetailsDialog ? "grid-cols-2" : "grid-cols-1 lg:grid-cols-5" } gap-14 items-center` ,
121
+ `grid ${ isTrainingDetailsDialog ? "grid-cols-2" : "grid-cols-1 lg:grid-cols-5" } gap-14 items-center ` ,
118
122
) }
119
123
>
120
124
< div className = "col-span-3 grid grid-cols-1 sm:grid-cols-2 grid-rows-4 gap-y-4 md:gap-y-10" >
@@ -197,13 +201,10 @@ const ModelProperties: React.FC<ModelPropertiesProps> = ({
197
201
isTMS
198
202
/>
199
203
</ div >
200
- { thumbnailURL && (
201
- < div className = "col-span-2" >
202
- < div className = " flex lg:justify-end" >
203
- < Image src = { thumbnailURL } alt = { "Prediction accuracy chart." } />
204
- </ div >
205
- </ div >
206
- ) }
204
+
205
+ < div className = { `col-span-3 lg:col-span-2 ${ isTrainingDetailsDialog && 'lg:col-span-3' } ` } >
206
+ < Image src = { trainingResultsGraph } alt = { "" } />
207
+ </ div >
207
208
{ /* Show logs only in modal and when status failed */ }
208
209
{ isTrainingDetailsDialog && data ?. status === TrainingStatus . FAILED && (
209
210
//@ts -expect-error bad type definition
@@ -220,7 +221,7 @@ const ModelProperties: React.FC<ModelPropertiesProps> = ({
220
221
input_contact_spacing ,
221
222
input_boundary_width ,
222
223
source_imagery ,
223
- thumbnailURL ,
224
+ trainingResultsGraph
224
225
] ) ;
225
226
226
227
return isError ? (
0 commit comments