Coding, Filming, and Nothing
article thumbnail

딥러닝 모델에 대한 간단한 실험이 끝나고, 

이제 어떠한 경향성을 띄는지에 대해서 Train Time이 12시간 이상이 넘어가

모듈화 하는 김에 실험마다 기록을 다르게하기 위해 디렉토리를 자동적으로 생성하게 코드를 작성하였다. 

 

실행마다 다른 폴더에 기록되게 하기 위해서 자주 사용하는 방법인데,

자꾸 코드 작성하고 까먹어서 따로 기록을 하려고 한다. 


파이썬 기본 패키지 중 하나인 OS 패키지를 사용하면 된다. 

 

1. 기본적인 방법 

import os

path = "../output"
os.makedirs(path)

위의 방법은 변수로 넘겨준 Path에 따라 단순히 디렉토리를 만드는 코드이다. 

 

 

 

2. 유무체크에 다른 수행 방법

import os

savePath = "../3_output"

try:
    if not os.path.exists(savePath):
        os.makedirs(savePath)
except OSError:
    print("Error: Cannot create the directory {}".format(savePath))

os.path.exists 를 통해 디렉토리 유무를 파악하는 단순한 코드이다. 

디렉토리가 없는 경우에만 만들게끔 코드를 작성하면 좀 더 유동적인 수행을 한다. 

 

 

실제로 사용하는 방식 

CV를 수행하는 함수,  기록을 저장하기 전 savePath에 대한 전처리를 수행한다.

 

실험을 시작한 날짜를 생성하여, output 디렉토리에 서브디렉토리 형태로 만들게 한다. 

이렇게 하면 함수를 호출할 때마다 알아서 날짜로 기록된 서브디렉토리가 만들어져 보관과 비교가 용이하다.

 

실험을 할때마다 디렉토리를 만들어서 코드를 수정하여 경로를 잡아주고 할 필요 없이 일련의 기준으로 요로코롬(?) 하면 편하다. 


사실 모델이 어떤 타입인지 Hyperparamter도 전부 기록하고 싶은데 지금은 실험을 돌리는게 급해서 

대충 코드를 짜고 실험을 진행시켰다. 나중에 수정을 내가 하겠지.. 

 

끝. 

profile

Coding, Filming, and Nothing

@_안쑤

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!