An epoch is a single iteration through a dataset when training a machine learning model.

When training a machine learning model, the data used for training is typically split between training and test data. The training data is then divided further into smaller batches during training.

As the model is processed through each batch, the weights or hyperparameters that control the accuracy of a model is updated based on its performance with that batch. When all batches are processed, an epoch is completed.

When training, multiple epochs are run. Epoch is a hyperparameter that is adjustable by the user. If there are too many epochs, then the model may overfit to the data. This means that the number of epochs should be lowered. On the other hand, if there are too little epochs, then the model is underfitting the data. This means the number of epochs should be increased.