In the first one you’ll get the current index of the iteration saved in batch_idx.
That’s what the enumerate op is for.
It’s often used e.g. if you would like to print some training stats every N batches.
Besides that, there is no difference.