@@ -274,31 +274,34 @@ def test(self):
274274
275275 def test_singly (self ):
276276 dir_name = _get_file_list (self .cfg .DATASET .INPUT_PATH )
277- img_name = _get_file_list (self .cfg .DATASET .IMAGE_NAME , prefix = dir_name [0 ])
278277 assert len (dir_name ) == 1 # avoid ambiguity when DO_SINGLY is True
278+ img_name = _get_file_list (self .cfg .DATASET .IMAGE_NAME , prefix = dir_name [0 ])
279+ num_file = len (img_name )
280+
281+ if os .path .isfile (self .cfg .INFERENCE .OUTPUT_NAME ):
282+ output_name = _get_file_list (self .cfg .DATASET .OUTPUT_NAME , prefix = self .output_dir )
283+ else :
284+ # same filename but different location
285+ if self .output_dir != dir_name [0 ]:
286+ output_name = _get_file_list (self .cfg .DATASET .IMAGE_NAME , prefix = self .output_dir )
287+ else :
288+ output_name = [x + '_result.h5' for x in img_name ]
279289
280- # save input image names for further reference
290+ # save input image names for future reference
281291 fw = open (os .path .join (self .output_dir , "images.txt" ), "w" )
282292 fw .write ('\n ' .join (img_name ))
283293 fw .close ()
284294
285- num_file = len (img_name )
286- start_idx = self .cfg .INFERENCE .DO_SINGLY_START_INDEX
287- for i in range (start_idx , num_file ):
288- dataset = get_dataset (
289- self .cfg , self .augmentor , self .mode , self .rank ,
290- dir_name_init = dir_name , img_name_init = [img_name [i ]])
291- self .dataloader = build_dataloader (
292- self .cfg , self .augmentor , self .mode , dataset , self .rank )
293- self .dataloader = iter (self .dataloader )
294-
295- digits = int (math .log10 (num_file ))+ 1
296- self .test_filename = self .cfg .INFERENCE .OUTPUT_NAME + \
297- '_' + str (i ).zfill (digits ) + '.h5'
298- self .test_filename = self .augmentor .update_name (
299- self .test_filename )
300-
301- self .test ()
295+ for i in range (self .cfg .INFERENCE .DO_SINGLY_START_INDEX , num_file , self .cfg .INFERENCE .DO_SINGLY_STEP ):
296+ self .test_filename = output_name [i ]
297+ if not os .path .exists (self .test_filename ):
298+ dataset = get_dataset (
299+ self .cfg , self .augmentor , self .mode , self .rank ,
300+ dir_name_init = dir_name , img_name_init = [img_name [i ]])
301+ self .dataloader = build_dataloader (
302+ self .cfg , self .augmentor , self .mode , dataset , self .rank )
303+ self .dataloader = iter (self .dataloader )
304+ self .test ()
302305
303306 # -----------------------------------------------------------------------------
304307 # Misc functions
0 commit comments