Epochs and iterations are related yet distinct concepts. An epoch consists of one complete pass through the training dataset, while an iteration refers to forward and backward propagation through a subset (batch) of the dataset. The entire dataset is typically divided into batches to fit in memory and to speed up training. The number of iterations in an epoch depends on the batch size. For example, if there are 1,000 instances in the dataset, and the batch size is 100, there will be 10 iterations for a single epoch.