RLlib으로 학습을 시키고 난 뒤 학습이 잘 되었는지 확인하기 위한 방법으로 reward 그래프를 통해 reward_mean 그래프가 수렴하는지 확인하는 방법이 있다. 이 그래프는 reward를 저장해서 Matplotlib을 통해 그릴 수도 있지만, 따로 이런 작업을 코드로 추가하지 않고 tensorboard라는 것을 통해서 확인할 수도 있다.
학습 내용은 이전 글의 Driving 2d Car를 이용하였고, tensorboard로 학습 하는 것은 다음 영상을 참고하였다. 하지만, 이 영상은 tune을 이용하여 학습한 것을 확인하는 방식이라 조금 다른 것 같다.
학습 코드 : https://namhauk.tistory.com/13
tensorboard 사용법 : https://www.youtube.com/watch?v=eLY8YAVnx_w
핵심적인 것은 학습된 것이 저장된 local_dir라는 것을 찾아야 하는데, 나는 tune을 통해 학습하지 않았기 때문에 위의 영상처럼 이 local_dir라는 것의 위치를 지정할 수 없었다. 그래서 찾아보니 local_dir이 디폴트로 저장되는 위치가 있다고 한다. "~/ray_results"에 위치한다고 하는데, 해당 위치로 가서 목록을 보면 다음 스크린샷처럼 학습마다의 local_dir들이 있다.
이 중에서 그래프로 보기 원하는 폴더의 경로를 복사하여 다음과 같이 tensorboard로 실행한다.
tensorboard --logdir <폴더 경로>
그러면 실행되면서 몇 줄 뜨다가 맨 밑에 쯤에 localhost주소가 뜨는데 이를 복사하여 인터넷에서 접속한다. 그러면 다음과 같은 창이 뜨면서 여러 그래프들이 나오게 된다.
이 중에서 우리가 볼 것은 episode_reward_mean 그래프이다. 이 그래프의 값이 수렴되는 지를 보고 수렴되고 있다면 학습이 잘 되었다고 생각하면 된다.
위와 같이 그래프의 값이 수렴을 이루고 있으므로 잘 학습되었다고 판단할 수 있다.
'연구 > 강화학습' 카테고리의 다른 글
stable baselines 3 사용법 기초 (0) | 2024.04.19 |
---|---|
RLlib 기초 - 예제 (Driving 2d Car) (1) | 2024.02.12 |
Mountain Car Continuous 환경 (0) | 2024.02.03 |
RLlib 기초 - 예제 (grid world) (0) | 2024.01.14 |
RLlib 사용 기초 (2) | 2024.01.13 |