강화학습 또는 신경망 학습에서 각 에피소드 또는 스텝 별 데이터, 학습률, 보상에 대해 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로 접속하라는 말이 터미널에 나올거다
웹사이트에 위 경로로 접속하면 다음과 같이 된다.
대충 썼지만 다들 잘 했을거라 믿는다.
이상하면 질문 해주세요
'취미-공학' 카테고리의 다른 글
px4_ros_com, px4_msgs 패키지 사용자 정의 메시지를 통해 PX4 모듈과 통신 (0) | 2022.04.16 |
---|---|
PX4 Hexarotor 6H frame Mixer 제작 및 SITL (0) | 2022.04.16 |
Gazebo 동적 장애물 실습 (0) | 2022.03.16 |
Gazebo 시뮬레이션 구상 진행 (0) | 2022.03.16 |
PX4와 Gazebo, 그리고 ROS2를 이용한 강화학습 환경 구성 (0) | 2022.03.11 |