Python
tqdm을 enumerate/zip과 함께 사용하기
체봄
2022. 5. 5. 21:03
tqdm으로 프로그레스 바를 정상적으로 나타내려면, tqdm으로 감싸는 값이 __len__()을 가져야한다.
tqdm(enumerate(리스트)) # wrong
tqdm(zip(리스트1, 리스트2)) # wrong
tqdm(enumerate(zip(리스트1, 리스트2))) # wrong
enumerate()와 zip()는 __len__()을 갖지 않기 때문에, 위 케이스들처럼 사용하면 프로그레스 바가 정상적으로 나타나지 않는다.
enumerate(tqdm(리스트))
zip(tqdm(리스트1), 리스트2)
enumerate(zip(tqdm(리스트1), 리스트2))
위와 같이 길이 값을 얻을 수 있는 리스트에 직접 씌워서 사용해야 한다.
zip을 사용하는 경우에는 리스트1과 리스트2의 길이가 같으므로 리스트1에 tqdm()을 씌워도 되고 리스트2에 tqdm()을 씌워도 된다.
참고: https://otzslayer.github.io/pytorch/2022/03/20/show-progress-bar-for-pytorch-dataloader.html
반응형