14

How to use tqdm for data_loader ?

is this the correct way?

for i,j in enumerate(data_loader,total = 100):
           pass
desertnaut
  • 57,590
  • 26
  • 140
  • 166
Om Fuke
  • 482
  • 1
  • 7
  • 14

2 Answers2

27

You need to wrap the iterable with tqdm, as their documentation clearly says:

Instantly make your loops show a smart progress meter - just wrap any iterable with tqdm(iterable), and you’re done!

If you're enumerating over an iterable, you can do something like the following. Sleep is only for visualizing it.

from tqdm import tqdm
from time import sleep

data_loader = list(range(1000))

for i, j in enumerate(tqdm(data_loader)):
    sleep(0.01)
Bitswazsky
  • 4,242
  • 3
  • 29
  • 58
1

If you want to use enumerate with tqdm, you can use it this way:

for i,data in enumerate(tqdm(train_dataloader)):
    images, labels = data 
    images, labels = images.to(device), labels.to(device)
    ....
Hamzah
  • 8,175
  • 3
  • 19
  • 43