@@ -17,6 +17,7 @@ import { View, StyleSheet, Image } from 'react-native';
1717import React , { useContext , useEffect , useState } from 'react' ;
1818import { GeneratingContext } from '../../context' ;
1919import ScreenWrapper from '../../ScreenWrapper' ;
20+ import { StatsBar } from '../../components/StatsBar' ;
2021
2122const numberToColor : number [ ] [ ] = [
2223 [ 255 , 87 , 51 ] , // 0 Red
@@ -52,6 +53,7 @@ export default function SemanticSegmentationScreen() {
5253 const [ imageSize , setImageSize ] = useState ( { width : 0 , height : 0 } ) ;
5354 const [ segImage , setSegImage ] = useState < SkImage | null > ( null ) ;
5455 const [ canvasSize , setCanvasSize ] = useState ( { width : 0 , height : 0 } ) ;
56+ const [ inferenceTime , setInferenceTime ] = useState < number | null > ( null ) ;
5557
5658 useEffect ( ( ) => {
5759 setGlobalGenerating ( isGenerating ) ;
@@ -71,6 +73,7 @@ export default function SemanticSegmentationScreen() {
7173 const runForward = async ( ) => {
7274 if ( ! imageUri || imageSize . width === 0 || imageSize . height === 0 ) return ;
7375 try {
76+ const start = Date . now ( ) ;
7477 const { width, height } = imageSize ;
7578 const output = await forward ( imageUri , [ ] , true ) ;
7679 const argmax = output . ARGMAX || [ ] ;
@@ -99,6 +102,7 @@ export default function SemanticSegmentationScreen() {
99102 width * 4
100103 ) ;
101104 setSegImage ( img ) ;
105+ setInferenceTime ( Date . now ( ) - start ) ;
102106 } catch ( e ) {
103107 console . error ( e ) ;
104108 }
@@ -150,6 +154,7 @@ export default function SemanticSegmentationScreen() {
150154 </ View >
151155 ) }
152156 </ View >
157+ < StatsBar inferenceTime = { inferenceTime } />
153158 < BottomBar
154159 handleCameraPress = { handleCameraPress }
155160 runForward = { runForward }
0 commit comments