The generator is run in parallel to the model, for efficiency. For instance, this allows you to do real-time data augmentation on images on CPU in parallel to training your model on GPU.

fit_generator(object, generator, steps_per_epoch, epochs = 1, verbose = 1,
  callbacks = NULL, view_metrics = getOption("keras.view_metrics", default =
  "auto"), validation_data = NULL, validation_steps = NULL,
  class_weight = NULL, max_queue_size = 10, initial_epoch = 0)



Keras model object


A generator (e.g. like the one provided by flow_images_from_directory() or a custom R generator function).

The output of the generator must be a list of one of these forms:

 - (inputs, targets)
 - (inputs, targets, sample_weights)

This list (a single output of the generator) makes a single batch. Therefore, all arrays in this list must have the same length (equal to the size of this batch). Different batches may have different sizes. For example, the last batch of the epoch is commonly smaller than the others, if the size of the dataset is not divisible by the batch size. The generator is expected to loop over its data indefinitely. An epoch finishes when steps_per_epoch batches have been seen by the model.


Total number of steps (batches of samples) to yield from generator before declaring one epoch finished and starting the next epoch. It should typically be equal to the number of samples if your dataset divided by the batch size.


integer, total number of iterations on the data.


Verbosity mode (0 = silent, 1 = progress bar, 2 = one line per epoch).


list of callbacks to be called during training.


View realtime plot of training metrics (by epoch). The default ("auto") will display the plot when running within RStudio, metrics were specified during model compile(), epochs > 1 and verbose > 0. Use the global keras.view_metrics option to establish a different default.


this can be either:

  • a generator for the validation data

  • a list (inputs, targets)

  • a list (inputs, targets, sample_weights).


Only relevant if validation_data is a generator. Total number of steps (batches of samples) to yield from generator before stopping.


Named list mapping class indices to a weight for the class.


Maximum size for the generator queue. If unspecified, max_queue_size will default to 10.


epoch at which to start training (useful for resuming a previous training run)


Training history object (invisibly)

See also

Other model functions: compile,, evaluate_generator, fit, get_config, get_layer, keras_model_sequential, keras_model, multi_gpu_model, pop_layer,, predict_generator, predict_on_batch, predict_proba,, train_on_batch