# Epoch

An epoch in machine learning is one complete pass of the entire training dataset through the algorithm. It is a hyperparameter that defines the number of times the model will see the entire training dataset. The number of epochs is typically an integer value between 1 and infinity.

In other words, an epoch is when the model sees all of the training data for the first time. After one epoch, the model's parameters will have been updated once for each training example. The model will then continue to train by seeing the training data again and again, for a total of the specified number of epochs.

The number of epochs required to train a model depends on a number of factors, including the size of the training dataset, the complexity of the model, and the desired level of accuracy. In general, more epochs will lead to a more accurate model, but it will also take longer to train. Here is an example:

- Let's say you have a training dataset of 1000 images. If you train your model for 10 epochs, then the model will see each image 10 times (1000 images * 10 epochs = 10000 iterations).
- If you train your model for 100 epochs, then the model will see each image 100 times.

The number of epochs is a trade-off between accuracy and training time. If you are training a model with a small dataset, you may want to use fewer epochs to save time. If you are training a model with a large dataset, you may want to use more epochs to get a more accurate model.