diff --git a/keras/legacy/interfaces.py b/keras/legacy/interfaces.py index be0c82f12582..1e53cfbcc3c1 100644 --- a/keras/legacy/interfaces.py +++ b/keras/legacy/interfaces.py @@ -577,14 +577,21 @@ def generator_methods_args_preprocessor(args, kwargs): if hasattr(generator, 'batch_size'): kwargs['steps_per_epoch'] = samples_per_epoch // generator.batch_size else: - warnings.warn('The semantics of the Keras 2 argument ' - ' `steps_per_epoch` is not the same as the ' - 'Keras 1 argument `samples_per_epoch`. ' - '`steps_per_epoch` is the number of batches ' - 'to draw from the generator at each epoch. ' - 'Update your method calls accordingly.', stacklevel=3) kwargs['steps_per_epoch'] = samples_per_epoch converted.append(('samples_per_epoch', 'steps_per_epoch')) + + keras1_args = {'samples_per_epoch', 'val_samples', 'nb_epoch', 'nb_val_samples', 'nb_worker'} + if keras1_args.intersection(kwargs.keys()): + warnings.warn('The semantics of the Keras 2 argument ' + '`steps_per_epoch` is not the same as the ' + 'Keras 1 argument `samples_per_epoch`. ' + '`steps_per_epoch` is the number of batches ' + 'to draw from the generator at each epoch. ' + 'Basically steps_per_epoch = samples_per_epoch/batch_size. ' + 'Similarly `nb_val_samples`->`validation_steps` and ' + '`val_samples`->`steps` arguments have changed. ' + 'Update your method calls accordingly.', stacklevel=3) + return args, kwargs, converted diff --git a/tests/keras/legacy/interface_test.py b/tests/keras/legacy/interface_test.py index a9f11695bc37..015ae3be5c9b 100644 --- a/tests/keras/legacy/interface_test.py +++ b/tests/keras/legacy/interface_test.py @@ -808,6 +808,11 @@ def pred_generator(): validation_data=val_generator(), nb_val_samples=1, nb_worker=1) + model.fit_generator(train_generator(), + 10, + 1, + nb_val_samples=1, + nb_worker=1) model.evaluate_generator(generator=train_generator(), val_samples=2, nb_worker=1)