Unity ML-Agent 학습, Tensorboard이용하기
안녕하세요, 오늘은 지난 포스팅에 이어 Tensorboard를 사용해서 강화학습 훈련의 reward와 loss를 실시간으로 볼 수 있도록 하는 법을 알아보겠습니다.
시작하겠습니다.
이번에는 3D-Ball이라는 예제환경에서 훈련을 해보겠습니다. 먼저 환경부터 세팅해야겠죠? 지난 포스팅을 보고 하셔도 좋고, 여기서는 간단히 진행하겠습니다.
다음의 ml-Agent 패키지 파일을 다운로드 받습니다. https://github.com/Unity-Technologies/ml-agents/archive/refs/tags/release_20.zip 다운로드 받은 곳에서 아무데나 압축해제 후, 이렇게 4개 폴더만 사용하겠습니다.
빈 3D 프로젝트를 시작해서 다음 두 패키지를 설치합니다. 'com.unirt.ml-agents/package.json' 과 'com.unirt.ml-agents.extensions/package.json'
설치되면 다음과 같이 두 패키지가 보입니다.
이제 'project'창의 'Assets' 루트 경로에 샘플 프로젝트와 config를 옮기겠습니다.
둘 다 다음과 같이 옮겨주시면 됩니다.
이제 파이썬, 파이토치 등을 설치합니다. 설치방법은 이전 포스팅을 따라하시면 됩니다.
다 설치되었다고 가정하고 넘어가겠습니다. 훈련하려는 Scene을 열어줍니다. 유니티 에디터에서 '{내 프로젝트}/Assets/ML-Agents/Examples/3DBall/Scenes/3DBall.unity' 장면을 불러옵니다. 그리고 아래와 같이, 훈련하려는 Agent를 클릭해서 Inspector창에서 Model 산하의 Inference Device를 CPU로 바꿔줍니다.
이제 다음 명령어로 훈련을 진행합니다.
1
mlagents-learn config/ppo/3DBall.yaml --run-id=first3DBallRun
우리가 옮겼던 config폴더 내 ppo 훈련방법을 따르는 훈련 설정 파일이 이미 있으므로, 그걸 읽어서 first3DBallRun이라는 ID로 훈련했습니다. 훈련이 시작되는 것을 확인하셨다면 Tensorboard를 열어봅시다. 별도의 명령창을 열었습니다.
1
tensorboard --logdir results
다음과 같이 되셨다면 성공입니다. 축하합니다. mlAgent로 예제 환경에서 훈련하고, tensorboard로 실시간 훈련경과를 확인하는 법을 아셨습니다! :)
[영상]
더 자세하게 알고 싶으시다면 아래 github의 Readme를 참조하시는 것이 좋을 것 같습니다. 감사합니다.
https://github.com/Unity-Technologies/ml-agents/blob/release_20_docs/docs/Installation.md https://github.com/Unity-Technologies/ml-agents/blob/release_20_docs/docs/Getting-Started.md https://github.com/Unity-Technologies/ml-agents/blob/release_20_docs/docs/Using-Tensorboard.md









