일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mendeley
- Fusion 360
- ppt
- git
- 비지도학습
- matplotlib
- CAD
- 파워포인트
- Python
- matlab
- Desktop
- github
- 파이썬
- 윈도우
- 기계공학
- 매트랩
- 머신러닝
- 모깎이
- 포스코인턴
- 멘델레이
- 연료전지
- 열역학
- 클러스터링
- simulink
- 군집화
- reference manager
- 포스코
- 스틸브릿지
- PEMFC
- 시뮬링크
- Today
- Total
신군의 역학사전
[Python] tqdm & trange 활용법 본문
Tqdm
tqdm은 파이썬에서 사용되는 진행 표시 막대를 생성하기 위한 라이브러리이다. 반복문이나 모델 학습 시, Iteration & Epoch 별 진행 상황을 바 형태로 시각적으로 보여주는데, 특히 진행율과 실행시간을 알 수 있어 편리하다.
모듈 설치
pip install tqdm
conda install tqdm
설치야 다른 모듈과 마찬가지로, 환경에 따라 pip 혹은 conda install 을 활용하여 설치해준다.
모듈 Import
from tqdm import tqdm
tqdm 모듈을 임포트해오는 코드는 위와 같다. 신기하게도 아래의 코드처럼 import tqdm 을 활용하면 오류가 나는데, 이는 tqdm이 패키지 이름이기도 하고, 모듈 내의 메인 클래스의 이름이기도 하여 충돌이 일어나는 듯 하다.
import tqdm # 오류 코드
import tqdm
for i in tqdm(range(10)):
print(i)
이런 식으로 오류가 나는 듯 하니, 임포트는 from tqdm import tqdm을 활용하면 된다.
from tqdm import tqdm
for i in tqdm(range(10)):
print(i)
다시 제대로 임포트를 해주고 실행해보면 아래와 같이 진행 창이 함께 뜨는 걸 확인할 수 있다. 좀 더 무거운 반복문이나 학습을 돌리면 전체 진행 시간과 iteration 별 진행 시간 등의 정보가 뜬다. 사용법은 반복문을 tqdm으로 감싸주기만 하면 끝이다.
Tqdm.notebook & Tqdm.auto
또한 아래의 다른 옵션들을 활용할 수 있다.
from tqdm.notebook import tqdm # 주피터 노트북에서의 사용에 특화된 버전
from tqdm.auto import tqdm # 사용환경에 따라 적절한 tqdm 버전을 자동으로 선택
기능 상에 큰 차이가 있는 것은 아니고, 사용하는 가상환경이나 에디터 등에 따라 최적화된 진행창 디자인을 제공해주는 옵션이다. 주로 나는 vscode상에서 주피터환경에서 코드 작업을 해서, 처음에는 tqdm.notebook을 주로 활용했었는데, 요즘은 그냥 편하게 tqdm.auto를 활용하고 있다. (알아서 최적화된 버전을 선택해준다해서..)
Trange
주로 tqdm은 반복 수행하는 작업 시 진행 창을 확인하기 위해 많이 사용한다. 따라서 모든 경우가 그렇지는 않겠지만, 대다수의 경우 반복문에 활용이 된다. 그래서 주로 tqdm(range())식으로 묶어서 활용이 될텐데, 이를 묶어 하나의 함수로 제공을 하고 있다. trange() 함수인데
from tqdm.auto import trange
이런식으로 임포트를 해온다음, tqdm(range)를 trange로 대체해주기만 하면 된다.
from tqdm.auto import tqdm
for i in trange(10):
print(i)
'Python > Basic Grammar' 카테고리의 다른 글
[Jupyter Notebook] 주피터 노트북 이미지 삽입 (2) | 2024.08.05 |
---|---|
[Python] 문자열 포맷팅(String Formatting) : F-String Formatting (1) | 2024.06.10 |
[Python] 내가 작성한 코드 파일 import 해오기 (0) | 2024.05.27 |