잡다한 모델 학습 tools
모델 학습에 직접적인 영향을 미치지는 않기만 모델을 더 효율적으로 학습하기 위해 사용한 툴
1. nohub
1
nohup python {train_model.py} > {training_log.txt} 2>&1 &
- no hang up의 약자
>
또는>>
와 같은 리다이렉션을 이용해서 다른 파일에 출력&
를 프로그램 실행시에 명령어 맨 끝에 붙여주면 해당 프로그램이 백그라운드로 실행1 2
ps -ef | grep python kill -9 {PID}
- 위 명령어를 통해서 백그라운드로 돌고 있는 것을 확인
- 이 명령어로
nvidia-smi
으로 확인이 안되는 프로세스도 확인해서 kill할 수 있다.
2. tqdm
Progress bar 이중으로 활용하기
position
활용leave=False
: 반복문 완료시 진행률 출력을 남기지 않음1 2 3
for sub in tqdm(dir_path, desc="Total progress : ", position=0): for f in tqdm(os.listdir(dir_path), desc=f"{sub} : ", leave = False, position=1): print(f)
3. wandb
머신러닝 Experiment tracking tool 주로 모델의 학습 과정을 실시간으로 시각화하여 볼 수 있는 기능을 사용했다.
- 머신러닝 모델 실험을 추적하기 위한 Dashboard 제공
- Data를 loging하여 W&B로 시각화하고 query하는 데 사용
- 실험을 document로 정리하여 collaborators와 공유
참고
This post is licensed under CC BY 4.0 by the author.