포스트

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

sticker


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.