4
4
import keras_eval .utils as utils
5
5
import keras_eval .metrics as metrics
6
6
import keras_eval .visualizer as visualizer
7
- from keras .preprocessing .image import ImageDataGenerator
8
7
9
8
from math import log
10
9
from keras .utils import generic_utils
@@ -26,7 +25,6 @@ class Evaluator(object):
26
25
'batch_size' : {'type' : int , 'default' : 1 },
27
26
'verbose' : {'type' : int , 'default' : 0 },
28
27
'data_augmentation' : {'type' : dict , 'default' : None },
29
- 'data_generator' :{'type' :ImageDataGenerator , 'default' : None },
30
28
}
31
29
32
30
def __init__ (self , ** options ):
@@ -272,37 +270,29 @@ def _compute_probabilities_generator(self, data_dir=None, data_augmentation=None
272
270
else :
273
271
for i , model in enumerate (self .models ):
274
272
print ('Making predictions from model ' , str (i ))
275
- if self .data_generator is None :
276
- # build generator
277
- if data_augmentation is None :
278
- generator , labels = utils .create_image_generator (data_dir , self .batch_size , self .model_specs [i ])
279
- # N_batches + 1 to gather all the images + collect without repetition [0:n_samples]
280
- probabilities .append (model .predict_generator (generator = generator ,
281
- steps = (generator .samples // self .batch_size ) + 1 ,
282
- workers = 1 ,
283
- verbose = 1 )[0 :generator .samples ])
284
- else :
285
- generator , labels = utils .create_image_generator (data_dir , self .batch_size , self .model_specs [i ],
286
- data_augmentation = data_augmentation )
287
- print ('Averaging probabilities of %i different outputs at sizes: %s with transforms: %s'
288
- % (generator .n_crops , generator .scale_sizes , generator .transforms ))
289
- steps = generator .samples
290
- probabilities_model = []
291
- for k , batch in enumerate (generator ):
292
- if k == steps :
293
- break
294
- progbar = generic_utils .Progbar (steps )
295
- progbar .add (k + 1 )
296
- probs = model .predict (batch [0 ][0 ], batch_size = self .batch_size )
297
- probabilities_model .append (np .mean (probs , axis = 0 ))
298
- probabilities .append (probabilities_model )
299
- else :
300
- generator , labels = utils .import_image_generator (data_dir , self .batch_size , self .model_specs [i ], self .data_generator )
273
+
274
+ if data_augmentation is None :
275
+ generator , labels = utils .create_image_generator (data_dir , self .batch_size , self .model_specs [i ])
276
+ # N_batches + 1 to gather all the images + collect without repetition [0:n_samples]
301
277
probabilities .append (model .predict_generator (generator = generator ,
302
278
steps = (generator .samples // self .batch_size ) + 1 ,
303
279
workers = 1 ,
304
280
verbose = 1 )[0 :generator .samples ])
305
-
281
+ else :
282
+ generator , labels = utils .create_image_generator (data_dir , self .batch_size , self .model_specs [i ],
283
+ data_augmentation = data_augmentation )
284
+ print ('Averaging probabilities of %i different outputs at sizes: %s with transforms: %s'
285
+ % (generator .n_crops , generator .scale_sizes , generator .transforms ))
286
+ steps = generator .samples
287
+ probabilities_model = []
288
+ for k , batch in enumerate (generator ):
289
+ if k == steps :
290
+ break
291
+ progbar = generic_utils .Progbar (steps )
292
+ progbar .add (k + 1 )
293
+ probs = model .predict (batch [0 ][0 ], batch_size = self .batch_size )
294
+ probabilities_model .append (np .mean (probs , axis = 0 ))
295
+ probabilities .append (probabilities_model )
306
296
307
297
self .generator = generator
308
298
self .num_classes = generator .num_classes
0 commit comments