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

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.