Programming/Python

tqdm 과 enumerate

매직블럭 2021. 4. 1. 15:28

data loader 등을 사용하다 보면 자주 쓰이는 tqdm과 enumerate.

 

보통 코드에 기본적으로 enumerate를 사용하게 구현되어있고 

여기에 프로그레스 정보를 보고싶어 tqdm으로 감싸주면 정보가 제대로 표시되지 않는 문제가 발생한다.

 

이 문제는 생각보다 간단한 문제로

tqdm을 겉에 두르면 이녀석이 관찰하는 데이터는 enumerate의 정보이기 떄문에 제대로 표시가 안 된 것이다.

 

해결방법은 더 간단하게 enumerage와 tqdm의 순서를 바꿔주면 된다.

 

# tqdm progress 정보 제대로 출력 X
for ii, data in tqdm(enumerate(dataset)):

# tqdm progesss 정보 제대로 출력 O
for ii, data in enumerate(tqdm(dataset)):