40

What is "epoch" in keras.models.Model.fit? Is it one gradient update? If it is more than one gradient update, then what is defining an epoch?

Suppose I am feeding my own batches to fit. I would regard "epoch" as finishing to process entire training set (is this correct)? Then how to control keras for this way? Can I set batch_size equal to x and y size and epochs to 1?

Dims
  • 37,353
  • 77
  • 251
  • 478

1 Answers1

43

Here is how Keras documentation defines an epoch:

Epoch: an arbitrary cutoff, generally defined as "one pass over the entire dataset", used to separate training into distinct phases, which is useful for logging and periodic evaluation.

So, in other words, a number of epochs means how many times you go through your training set.

The model is updated each time a batch is processed, which means that it can be updated multiple times during one epoch. If batch_size is set equal to the length of x, then the model will be updated once per epoch.

Sergii Gryshkevych
  • 3,609
  • 21
  • 35