평소에 오래 걸릴만한 코드를 실행하지 않아서 사용하지 않았지만,
터미널에서 변화를 보이지 않아서
언제 끝날지도 모르겠고
실행이 되는 중인지 확인하기도 어려워서
for문에 tqdm을 넣어봤다.
tqdm
python에서 tqdm 라이브러리를 이용해
작업진행률을 확인할 수 있다.
필자는 tqdm을 쓰지 않고
코드 중간 중간
다음과 같이 print해서 현재 어떤 version이 돌아가고 있고
success_rate가 어느 정도인지 확인하며 진행 단계를
확인을 해왔다.
이렇게 확인할 때의 단점은
코드를 짠 나만 진행 현황을 파악할 수 있다는 점.
그리고 너무 대용량의 코드가 돌아갈 때에는
아예 print가 되지 않기 때문에
마찬가지로 진행 여부를 확인할 수 없음.
뭐가 됐던간에 for문의 in 다음에 tqdm을 씌우면
이런식으로 진행 현황을 bar형태로 확인할 수 있음.
더불어서 시간이 어느정도 소요되는지도 예측할 수 있음.
그런데 이 때,
코드 돌아가는 시간이 너무 많이 걸린다?
그럼 이제 tmux를 사용해야지.
tmux는 컴퓨터를 끄거나 서버 접속이 끊겨도
코드가 돌아간다는 장점이 있다.
tqdm documentation
tqdm tqdm means "progress" in Arabic (taqadum, تقدّم) and is an abbreviation for "I love you so much" in Spanish (te quiero demasiado). Instantly make your loops show a smart progress meter - just wrap any iterable with tqdm(iterable), and you're done
tqdm.github.io
tmux
우선 tmux 목록을 확인하기 위한 명령어
tmux ls
현재 tmux로 돌리고 있는 것이 없어서
목록이 나오지 않음.
tmux에서 new session을 시작하려면
session_name을 만들어야한다.
나같은 경우 precisionrecall이라는 이름의
세션을 만들었음.
엔터를 치자마자
이런 빈 공간이 생성된다.
여기서 이제 폴더 내의 파이썬 스크립트를
구동시키자.
기존 터미널에서 사용하듯 동일하게 진행하면 된다.
tmux 내에서 tqdm 돌아가는 것도 확인 가능
tmux에서 빠져나오는 방법
ctrl+B, D
내가 처음 tmux를 접했을 때 쓰기 싫었던 이유가
tmux들어가긴 들어가는데 나오기가 힘들었기 때문
ctrl을 꾹 누른 상태에서 B를 눌렀다 떼고 D를 누른다.
ctrl+B+D 아님.
나왔다가 다시 들어가는 방법은
tmux attach -t {session_name}
tmux 들어가서 tqdm 진행상황 확인하면 굳
tmux 중단시키는 방법은
tmux kill-session -t {session_name}
인데 우선 tmux ls로 현재 돌아가고 있는 애가
뭐가 있는지 보자.
precisionrecall이라는 session 내에 1개의 window가 열려있음을 보여줌.
말그대로 kill해서 tmux 강제 종료.
tmux ls로 확인해봐도 아무것도 없음을 확인할 수 있다.
이상 tqdm 사용해서 작업의 진행 상황 실시간으로 표시하고
tmux를 사용해 여러 창에서 다양하게 병렬 처리하는
multitasking 하는 방법을 정리해봤다.
'파이썬' 카테고리의 다른 글
Yaml 파일(config.yaml) 설정 파일(omegaconf 사용해서 참조하도록 응용) (0) | 2025.05.08 |
---|---|
[plt]scatter_plot(데이터 시각화: 파이썬 matplotlib을 활용한 예시) (0) | 2023.06.26 |
excel에서 드래그로 인덱스 증가(숫자 늘리기)[기초] (0) | 2023.06.14 |
main.py(feat_config의 yaml파일)[get_yaml(config_file_path)] (0) | 2023.06.09 |
ChatGPT로 파이썬 공부하는 방법 (1) | 2023.06.09 |