소품집

[tensorflow] TensorBoard 연동해서 학습률 확인하기 본문

AI

[tensorflow] TensorBoard 연동해서 학습률 확인하기

sodayeong 2023. 3. 16. 21:37

딥러닝 학습할 때 보통 verbose 옵션으로 잔여 epochs를 확인하는데,

GPU 잡고 학습하니까 ETA, 오차율은 보여주는데 희한하게 잔여 epochs를 확인할 수 없었다. 

 

예를 들어 1 epochs에 7분 정도 걸렸는데 100으로 설정했으면 7*100 = 700/60 = 약 11시간 걸리니까.. 

지금 몇 번 돌았는지도 모르고 이건 아니다 싶었음

 

찾다가 나온 TensorBoard

 

1. 모델 학습 전, 텐서보드 경로 지정 

2. 모델 학습 시, callbacks 함수 지정

# Log data를 저장할 디렉터리 이름 설정
dir_name = 'Learning_log' # C:\Users\user\Learning_log
    
# main 디렉터리와 sub 디렉터리 생성
def make_Tensorboard_dir(dir_name) : 
    root_logdir = os.path.join(os.curdir, dir_name)
    sub_dir_name = datetime.datetime.now().strftime('%Y%m%d-%H%M%S')
    return os.path.join(root_logdir, sub_dir_name)

# callback - 텐서보드
TB_log_dir = make_Tensorboard_dir(dir_name)
TensorB = keras.callbacks.TensorBoard(log_dir = TB_log_dir)

# callback - 조기종료
early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', min_delta = 0, patience=10, restore_best_weights=True)

# random_set 고정
tf.random.set_seed(42)
bilstm_history = model.fit(x_batch, y_batch, batch_size=11, epochs=20, callbacks = [early_stop, TensorB])

2. anconda prompt 실행 

3. conda activate 가상환경 실행

(base) C:\Users\user>conda activate py_38

4. tensorboard --logdir="로깅 경로 지정"

(py_38) C:\Users\user>tensorboard --logdir=C:\Users\user\Learning_log
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.9.1 at http://localhost:6006/ (Press CTRL+C to quit)

5. 기본 포트 http://localhost:6006/ 로 이동

6. 학습률 확인!

 

7. 새로고침 할 때마다 반영되는 학습률을 확인할 수 있다. (자동으로 됐으면 좋겠는데.. 없는 것 같다.)

 

 

 

 

 

 

 

다들 즐거운 강화합쉬다~

 

 

 

 

 

참조

https://copycoding.tistory.com/88

728x90
Comments