티스토리 뷰
728x90
반응형
딥러닝 모델을 학습시킬 때 학습 진척도(progress bar)를 살필 수 있는 방법으로 tqdm 패키지가 사용된다.
1. tqdm 패키지 설치
!pip install tqdm
2. 기본 예제
- 기본적으로 tqdm에 iteration이 가능한 객체를 입력하면 된다. tqdm(range(10))
from tqdm import tqdm
import time
n = 10
for i in tqdm(range(n)):
time.sleep(1)
- 다른 설정이 없다면 progress bar는 진행도와 시간이 표시된다.
- 진행도(%) | 완료 횟수(i) / 전체 반복 횟수(n) [현재까지 걸린 시간 < 완료까지 남은 예상시간, iteration당 걸린 시간]
3. 옵션
1) 많이 사용되는 옵션: desc, postfix, unit
- desc는 progress bar의 prefix(전위표기법)으로 앞단에 표기된다.
- postfix(후위표기법)은 [] 대괄호 내부 우측에 추가되어 나타난다.
- unit은 iteration의 단위를 나타내는 파라미터이다. batch 당 몇 초가 걸리는지와 같이 단위를 명확히 할 때 사용한다.
2) 기타 옵션: ncols, ascii, leave 등
- ncols는 progress bar의 길이를 조절하는 역할을 한다.
- ascii는 progress bar의 모양을 결정한다. " *"으로 변경하여 표시할 수 있다. (앞 공백 필수)
- leave는 반복이 끝난 뒤 progress bar를 남겨둘지 결정하는 파라미터로 True면 남겨두고, False면 지운다. (default: True)
3) tqdm은 다중으로 사용이 가능하며, 이때 position, leave 옵션을 쓰면 편리하다.
- position은 0부터 시작하며, 여러 개의 progress bar를 관리할 때 유용하다. 지정하지 않으면 자동으로 설정된다.
- 바깥쪽 반복문을 outer, 안쪽 반복문을 inner라고 설정하고 inner에 대해서만 leave=False 옵션을 주면, 반복 중에는 progress bar가 보이지만 반복이 완료되면 inner progress bar가 사라진다.
4. tqdm 동적으로 사용하기
- 딥러닝 모델을 학습시킬 때 상황을 동적으로 확인하기 위해 사용된다.
- tqdm 객체를 선언하고 반복문을 실행하면 동적으로 progress bar에 변화를 줄 수 있다.
- 다만 사용 후 close()를 해주어야 하기 때문에 with문을 사용하는게 편리하다.
- set_description은 몇 번째 epoch인지 확인할 수 있도록 표기해 준다.
- set_postfix는 원하는 변수의 변화를 체크할 때 쓰인다. (dict or **kwargs)
728x90
반응형
'ML > Ect' 카테고리의 다른 글
[Python / Pandas] tsv dataset 읽기 및 저장하기 (feat. csv) (0) | 2024.03.04 |
---|---|
[Python] pip 패키지 목록 requirements.txt 생성 및 설치 방법 (1) | 2023.01.31 |
[HTML / 티스토리 스킨] HTML 문서에서 LaTeX 로 수식 작성하기 (0) | 2023.01.21 |
댓글