JiahuiYu / neuralgym

Deep Learning Toolkit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

epoch, step, pse setting

zengyh1900 opened this issue · comments

Hi Jiahui,

Thanks for your toolkit, it's really helpful !

In my world, an epoch means running through the training dataset once.
So I'm not sure why you set an epoch as TRAIN_SPE steps ignoring the size of training dataset.

see progress_logger

Hi it is a good question. You are right, basically one epoch means running through the training dataset once. However in some cases, like if you sample a small patch in an image (for tasks like inpainting, super-resolution, etc.), you don't know how to measure one epoch. Also sometimes you just want to save the model frequently (like for every 0.5 epoch), it is better to define an epoch as how many steps to run as a whole unit.

Thus I use SPE as steps per epoch so that you can define how many iterations you want as a running unit. Just some preferences in developing.

Again, you are right. An epoch means running through the training dataset once.

@JiahuiYu Thank you for your fast reply very much!

Does this mean that the train always covers all train dataset? Just like this:
3209A94E-828E-4D77-A5C4-D7FF98DE2A4E

Yes, it is also possible that one SPE is larger than the length of train dataset.

Yes, it is also possible that one SPE is larger than the length of train dataset.

Thank you very much!