[Shell Script] 딥러닝 훈련 bash 파일 작성

zekim·2021년 4월 27일
0

[Shell Script]

목록 보기
1/2

딥러닝 실험을 진행하다보면 다양한 하이퍼파라미터들이 존재하며 이들에 대해 하나씩 실험을 진행하기엔 상당히 비효율적이다.
하지만, bash 파일을 작성 후 이를 백그라운드로 돌리면 언제 끝나는지 신경쓰지 않아도 되며, 매 실험이 종료될 때마다 새로운 실험이 자동적으로 실행되므로 상당히 편리한 방법이다.

terminal 오픈 후
vi train.sh

bash 작성 :

#!/bin/bash

for lr in 0.1 0.05 0.01 0.005

do

for decay in 0.001 0.005 0.01

do

for batch_size in 8 16 32

do

	CUDA_VISIBLE_DEVICES=0 python3 train.py ${lr} ${decay} ${batch_size} > result_train_${lr}_${decay}_${batch_size}.log (로그 파일을 저장할 경로 & 파일명)

done

done

done

:wq -> bash file 저장 후 out 명령어

빠져나온 후 sh train.sh 실행
백그라운드로 실험 돌리고 싶은 경우, nohup sh train.sh & -> 결과가 nohup.out에 저장됨

경로를 현재 경로로 지정되어있기 때문에 현재 경로에 result_train_${lr}_${decay}_${batch_size}.log 파일이 생성 중이다.
실시간으로 쌓이는 로그를 보고 싶다면, 로그 파일이 생성되는 경로에 가서
tail -f result_train_${lr}_${decay}_${batch_size}.log 를 입력하면 확인 가능하다.

ctrl+c를 눌러도 실험이 종료되지 않으니 걱정말 것!!

2개의 댓글

comment-user-thumbnail
2021년 6월 3일

오! 안그래도 비효율적이라 생각했는데 고맙네요~! ㅎㅎ 감사합니다!

1개의 답글