
17. TensorBoard 설정 및 PPO 학습 로그 확인
- date
- 3월 20, 2026
- status
- 완료
- tags
- unrealRL
1. 들어가기 전에#
지금까지는 주로 에디터 화면에서 로봇이 어떻게 움직이는지를 눈으로 확인했다. 하지만 앞으로 CPG, Animation Action Driver, Imitation Learning, PPO Fine-tuning을 비교하려면 단순히 “움직인다 / 안 움직인다”만으로는 부족하다.
따라서 이번 단계에서는 Unreal Learning Agents에서 생성되는 학습 로그를 TensorBoard로 확인할 수 있도록 설정한다.
1.1. 왜 TensorBoard가 필요한가#
TensorBoard를 사용하는 이유는 학습 상태를 수치로 확인하기 위해서이다.
특히 앞으로는 다음 항목들을 확인해야 한다.
| 확인 항목 | 의미 |
|---|---|
| Reward 추이 | 학습이 실제로 좋아지고 있는지 확인 |
| Episode Length | 로봇이 더 오래 버티는지 확인 |
| Policy Loss | 정책 업데이트가 불안정하지 않은지 확인 |
| Value Loss | Critic 학습이 흔들리지 않는지 확인 |
| Entropy | 행동 다양성이 너무 빨리 줄어드는지 확인 |
| Snapshot | 특정 시점의 정책을 저장하고 비교 |
즉, TensorBoard는 보행을 직접 만들어주는 도구는 아니지만, 이후 학습 결과를 판단하기 위한 기준점이 되기 때문이다.
1.2. 이번 단계에서 할 일#
이번 단계에서는 텐서보드 설치 및 학습 로그를 확인하고 시각적으로 학습 데이터를 확인해보도록 하자.
flowchart TD A[Learning Agents 학습 실행] --> B[로그 파일 생성 위치 확인] B --> C[TensorBoard 설치] C --> D[TensorBoard 실행] D --> E[브라우저에서 학습 로그 확인] E --> F[Reward / Loss / Episode Length 확인]
2. TensorBoard 구현#
2.1. Tensorboard 설치#
TensorBoard를 사용하려면 먼저 Unreal Learning Agents가 사용하는 Python 환경에
tensorboard모듈을 설치해야 한다.플러그인에서 Tensorbord 검색 후 선택 → 에디터 재시작

2.2. Training Settings 변수 만들기#
먼저 TensorBoard 로그를 생성하려면 PPO 학습 설정에서
Use Tensorboard값을 켜야 한다.현재
BP_SpiderTrainingManager의 Event Graph에서는Run Training노드가 사용되고 있고, 이 노드의Trainer Training Settings핀에는Make Learning Agents PPOTraining Settings노드가 연결되어 있었다.
처음에는 이
Make Learning Agents PPOTraining Settings노드에서 바로Use Tensorboard값을 수정하려고 했지만, 현재 블루프린트 화면에서는 세부 설정 핀이 노출되어 있지 않았다.따라서 이번에는 PPO Training Settings를 별도의 변수로 분리해서 관리하기로 했다.
생성한 변수는 다음과 같이 설정해 주자.
변수명 타입 SpiderPPOTrainingSettingsLearning Agents PPOTraining Settings이렇게 변수로 분리하면 TensorBoard 사용 여부뿐만 아니라 반복 횟수, 학습률, 배치 크기, 랜덤 시드, 스냅샷 저장 여부 같은 PPO 학습 설정을 한 곳에서 관리할 수 있다.
flowchart TD A[BP_SpiderTrainingManager] --> B[변수 생성] B --> C[SpiderPPOTrainingSettings] C --> D[타입: Learning Agents PPOTraining Settings] D --> E[기본값에서 학습 설정 관리]
2.3. TensorBoard 사용 옵션 켜기#
SpiderPPOTrainingSettings변수를 만든 뒤 컴파일하면, Details 패널에서 PPO Training Settings의 기본값을 수정할 수 있다.여기서
텐서보드 사용항목을 찾아 체크한다.
이 옵션을 켜면 학습 실행 중 TensorBoard가 읽을 수 있는 이벤트 로그가 생성된다.
또한 이후 특정 학습 시점의 정책을 비교할 수 있도록
스냅샷 저장도 함께 켜둘 수 있다.스냅샷 저장은 필수는 아니지만, 이후 학습 결과를 비교할 때 유용하므로 함께 활성화할 수 있다.설정 항목 의미 텐서보드 사용TensorBoard용 학습 로그 생성 스냅샷 저장학습 중 정책 상태 저장
2.4. Run Training 노드에 변수 연결하기#
설정값을 변수로 만들었으므로, 기존
Make Learning Agents PPOTraining Settings노드는 더 이상 사용할 필요가 없다.기존 연결은 다음과 같았다.
flowchart TD A[Make Learning Agents PPOTraining Settings] --> B[Run Training]이를 다음처럼 바꿔주자
flowchart TD A[Get SpiderPPOTrainingSettings] --> B[Run Training]최종 구조는 다음과 같다.

flowchart TD A[Event Tick] --> B[Branch] B --> C[Run Training] D[SpiderPPOTrainer] --> C E[Get SpiderPPOTrainingSettings] --> C F[Make Learning Agents Training Game Settings] --> C이렇게 하면
Run Training은 더 이상 임시 Make 노드의 기본값을 사용하는 것이 아니라,SpiderPPOTrainingSettings변수에 설정한 값을 기준으로 학습을 실행할 수 있게 된다.
2.5. 학습 실행 후 로그 파일 확인#
TensorBoard 사용 옵션을 켠 뒤 기존 방식대로 학습을 실행해보자
학습을 짧게라도 실행하면 TensorBoard 이벤트 로그가 생성되어야 한다.
TensorBoard 이벤트 로그 파일 이름은 보통 다음과 같은 형태를 가진다.
events.out.tfevents...프로젝트 폴더에서 이 파일이 생성되었는지 확인해보자. PowerShell에서 프로젝트 루트 폴더에서 다음 명령을 사용해보자
Get-ChildItem -Recurse -Filter "events.out.tfevents*"이 명령으로 이벤트 파일이 검색되면, 해당 파일이 들어 있는 폴더가 TensorBoard 실행 시 사용할 로그 폴더가 된다.

flowchart TD A[Run Training 실행] --> B[Learning Agents 학습 진행] B --> C[TensorBoard 이벤트 로그 생성] C --> D[events.out.tfevents 파일 검색] D --> E[로그 폴더 확인]
2.6. TensorBoard 실행#
이벤트 로그 파일이 생성된 폴더를 확인했다면, 해당 폴더를
–logdir로 지정해 TensorBoard를 실행해보자현재 내 프로젝트에서 로그 폴더는 아래 위치이므로,
C:\WorkSpace\Project\UnrealProject\SpiderRL\SpiderRL\Intermediate\LearningAgents\TensorBoard\runs\Trainin g_PPO_SharedMemory_2026-06-03_17-07-08다음처럼 실행한다.
.\Scripts\tensorboard.exe --logdir "C:\WorkSpace\Project\UnrealProject\SpiderRL\SpiderRL\Intermediate\LearningAgents\TensorBoard\runs\Training_PPO_SharedMemory_2026-06-03_17-07-08" --port 6006실행 후 브라우저에서 다음 주소로 접속해보자
http://localhost:6006페이지 확인

너무 빨리 학습을 꺼버려서 로그가 충분히 기록이 안된 것 같으니 1분 동안 실행을 해보고 다시 보면…

데이터를 시각적으로 확인할 수 있다