Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Front
- ML
- FineGrained
- CV
- clean code
- pytorch
- REACT
- nerf
- Vision
- SSL
- math
- web
- FGVC
- 3d
- cs
- PRML
- Torch
- Meta Learning
- classification
- 딥러닝
- 자료구조
- 머신러닝
- dl
- computervision
- Python
- algorithm
- GAN
- Depth estimation
- 알고리즘
- nlp
- Today
- Total
KalelPark's LAB
[CLEAN CODE] Clean Python, tqdm 활용하기 본문
tqdm이란?
- 파이썬(Python)에서 반복문을 도는 경우, 진행 정도를 Progress Bar의 형태로 보여주는 것이 가능합니다.
tqdm은 아랍어에서 파생된 언어로 taqadum의 축약형이며, 영어로는 Progress라는 뜻입니다.
Baseline
- 기본적으로, 순회가능한 객체를 첫 번째 인자로 넣어준 후, for문에 삽입하면 됩니다.
from tqdm import tqdm
import time
for i in tqdm(range(10)):
time.sleep(1)
* 추가적으로, tqdm은 객체를 설정한 후, for문에서 활용하는 것이 가능합니다.
add Option
- total : 전체 진행률
- desc : 진행률 출력 문장
- ncols : 진행률 출력 폭
- ascii : 바 모양, 첫 문장은 반드시 공백이여야 함..!
- leave : True 완료 시, 진행률 출력 남김..!
iterable = ["train", "valid", "inference"]
pbar = tqdm(iterable,
total = len(iterable), # 전체 진행률
desc = "Description", # 진행중 출력 문장
ncols = 100, # 진행률 출력 폭
ascii = " -", # 바 모양, 첫 문장은 반드시 공백이여야 함.!
leave = True) # True 완료 시, 진행률 출력 남김
for c in pbar:
pbar.set_description(f"Current - {c}")
time.sleep(4)
EX>
* 이중 루프(Nested Loop)를 사용하는 경우
- for문이 연속으로 두 개 이상 있는 경우를 Nested Loop라고 합니다.
- 바깥쪽 루프에 대한 진행률은 위쪽 줄에 출력하고, 안쪽 루프에 대한 진행률은 그 아래에 출력하고자 합니다.
- tqdm의 position 인자를 이용하여, 바깥 루프에 대한 position을 0 안쪽 루프에 대한 position은 1로 설정합니다.
- 이때, 안쪽 루프가 왼료되면, 진행률 출력 부분은 지우기 위해 leave = False로 합니다.
for outer in tqdm([10, 20, 30, 40, 50], desc='outer', position=0, leave = True): ## 출력되는 라인을 나타내는 position을 0 으로 두고
for inner in tqdm(range(outer), desc='inner', position=1, leave= False): ## 안쪽 루프의 진행률 출력은 그 아랫줄인 position = 1 로 설정하는 것이다.
time.sleep(0.5)
'Python > CLEAN CODE' 카테고리의 다른 글
[ CLEAN CODE ] Clean Python, Dictionary 활용하기 (0) | 2023.01.02 |
---|---|
[ CLEAN CODE ] Clean Python, Property 활용하기 (0) | 2023.01.01 |
[ CLEAN CODE ] Clean Python, Argparse 유용하게 활용하기 (0) | 2022.12.30 |
[ CLEAN CODE ] Clean Python, __future__이란? (0) | 2022.12.28 |
[ CLEAN CODE ] Clean Python, Pickle이란? (0) | 2022.12.21 |
Comments