강화학습 또는 신경망 학습에서 각 에피소드 또는 스텝 별 데이터, 학습률, 보상에 대해 matplotlib같은 라이브러리를 쓰는 건 귀찮다.

 

코딩하기 더 쉽고 보기도 좋은 텐서보드 사용법에 대해 정리하고자 한다. 

 

단순 코드와 실행방법을 쓸 것이고 tensorboard 의존성 패키지 설치 방법은 다음에 정리하려고 한다.

 

우선 tensorboard 설치를 해보자

 

pip3 install tensorboard

 

그리고 파이썬으로 다음과 같이 코드를 작성해보자

 

import tensorflow as tf

#~~~~~

#~~~~~

# ~~~class
# Tensorboard

self.data_log_flag = True

if (self.data_log_flag):

   self.log_dir = './src/reinforce/reinforce/PPO/logs/'

   self.train_summary_writer = tf.summary.create_file_writer(self.log_dir)

   self.z_position_dif = tf.keras.metrics.Mean('step_position_z_diff', dtype=tf.float32)

위 코드처럼 클래스 멤버 변수로 텐서보드로 볼 변수 로그 파일을 저장할 경로를 정해주고

변수 타입을 설정해준다.

 

그리고 변수에 값을 넣어주고

# ~ 변수 값 대입 후

with self.train_summary_writer.as_default():

   tf.summary.scalar('step_position_z_diff', self.z_position_dif, step = self.epi_step)

 

이 파일을 실행해보면 위에서 선언한 경로에 log파일들이 생길 것이다.

 

그리고 터미널창에 다음과 같은 명령어로 텐서보드를 실행한다.

 

tensorboard --log_dir {로그 경로}

 

이후 localhost:xxxx로 접속하라는 말이 터미널에 나올거다

 

웹사이트에 위 경로로 접속하면 다음과 같이 된다.

 

 

 

대충 썼지만 다들 잘 했을거라 믿는다.

 

이상하면 질문 해주세요

728x90

+ Recent posts