When training an object detection model, I am wondering how important it is to choose the number of iterations such that the training completes "full" epoch? Here is an example that, I hope, will make my question clearer:

Suppose we have 64000 images.

I was told that the batch size should be a power of 2 so suppose that batch_size = 64.

We see that it requires 1000 iterations to complete one epoch.

Now, suppose I stop the training after 2500 iterations. In that case, my model will be at "2.5 epochs". Thus it will have trained 2 times on half the samples, but 3 times on the other half. My model will have "seen" half the dataset 50% more than the other half.

For me, that creates a possibility of an imbalanced training similar to training with an imbalanced dataset (dtaset for which the number of objects per classes is not roughly equal). Yet, no model I use seems to have any restrictions when setting the number of iterations. Therefore, I reckon that my reasoning is probably wrong. I would like to know why.



Your Answer


Browse other questions tagged or ask your own question.