Can anybody explain how the training steps work for the Tensorflow Object Detection algorithms available on the Tensorflow 2 Detection Model Zoo? For instance, YOLOv5 cycles through epochs. As I understand it, one epoch is completed after all the training data passes through the algorithm. However, the Tensorflow models I just described are set up so they pass through a certain amount of training steps (several are optimized for 100,000 training steps, including some with 200,000 and 300,000 steps, depending on the algorithm).

What is the difference between epochs and these steps? Just trying to understand how the algorithm trains my data.


1 Answer 1


Epoch is defined as a full training pass over the entire dataset such that each example has been seen once. Thus, an epoch represents N/batch_size training iterations, where N is the total number of examples.

Whereas a training step is one gradient update. In one step batch_size examples are processed.

So, Number of training steps per epoch: total_number_of_training_examples / batch_size.

Total number of training steps: number_of_epochs x Number of training steps per epoch.

Reference: https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .