I saw a code like below
for epoch in range(num_epochs):
            batch = 0
            for _ in range(num_epoch_repeats):
                for data in self.train_data_loader:
                    losses = self.train_step(data, global_step=step_id)
                    ....................................................
                    ....................................................

I do not understand the necessity of this loop "for _ in range(num_epoch_repeats):" instead you can increase the num_epochs, right?
Are there any other reasons for this kind of implementation?
Thanks
Anil