Explain steps per epoch please

please explain steps per epoch

So epoch is number of iterations you need to re run your model on the data you use.
steps per epoch how many batches of that data you need to use in each epoch.

say , data_size = 1200 and you give batch_size of 24
then total batches would be 50.
but you define steps per epoch as 40 , then in each epoch , it will randomly take those 40/50 batches only for training.