본문 바로가기
카테고리 없음

[Unity] ml-agents 설치하기 및 테스트

by 퍼즐잎 2020. 1. 19.
시작하기

 

Unity-Technologies/ml-agents

Unity Machine Learning Agents Toolkit. Contribute to Unity-Technologies/ml-agents development by creating an account on GitHub.

github.com

ml-agents github에서 프로젝트를 다운로드하고 원하는 경로에 프로젝트 폴더를 추가한다.

이후에 편의를 위해서 파이썬 가상 환경을 생성한다.

python -m venv example
cd example
activate.bat

이후에 mlagents 파이썬 패키지를 설치한다.

pip install mlagents

ml-agents 프로젝트가 위치한 폴더에서 다음과 같이 명령어를 입력한다.

cd ml-agents-envs
pip3 install -e ./
cd ..
cd ml-agents
pip3 install -e ./

유니티 설치와 기타 필요한 패키지 설치 방법은 아래 문서에 잘 나타나 있다.

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md

 

테스트해보기

기존에 Windows 환경에서 설치할 때 아나콘다랑 필요할 것이 많이 있었는데 많이 간단해진 것 같다.

정상적으로 설치가 되었는지 확인하기 위해서 예제 중 하나를 학습을 돌려보면서 테스트를 해본다.

ML-Agents에 포함되어 있는 3DBall 예제

다음과 같이 유니티 환경에서 예제를 실행시킨다.

 

기존 예제 프로젝트에는 미리 학습되어있는 모델이 포함되어 있다. 그래서 유니티 에디터에서 플레이 버튼을 눌러보면 다음과 같이 공이 떨어지지 않도록 에이전트가 중심을 잡는 모습을 볼 수 있다.

2번 째 줄에 있는 에이전트들의 학습된 모델을 제거했다.

3D Ball 오브젝트를 선택하고 하위 항목에 Agent를 선택하게 되면 인스펙터 창에서 Model을 확인할 수 있다.

새로 학습을 시키기 위해서 이 모델들을 제거해준다.

이제 학습을 위해서 mlagents 프로젝트가 위치한 커멘드 창에서 다음과 같이 명령어를 입력한다.

run-id는 임의로 본인이 구분하기 위한 아무 값이나 입력하면 된다. (첫 번째 학습이므로 first로 지정)

 

그 외에 설정이나 다른 명령어에 대한 설명은 기본 가이드 문서에 포함되어 있다.

mlagents-learn config/trainer_config.yaml --run-id=first --train --time-scale=100

모든 에이전트에서 모델을 제거 한 모습

위 명령어를 입력하면 다음과 같이 유니티 에디터에서 플레이를 하라는 안내 문구가 나타난다.

Listening on port 5004. Start training by pressing the Play button in the Unity Editor.

학습이 되는 것 같은 느낌이 든다.

적당히 학습을 돌리고 학습이 완료되거나 중간에 멈추게 되면 models/{run-id} 위치에 유니티 프로젝트 이름. nn 모델이 생성된다. 모델 이름을 MyFirstModel.nn으로 바꾸고 유니티 프로젝트에 추가한다.

추가한 모델을 아까 모델을 제거한 Agent에 다시 적용해준다.

1분 정도 학습한 모델이라서 완벽하지는 않지만 정상적으로 설치가 완료된 것을 확인할 수 있다.

 

tensorboard --logdir=summaries --port=6006

tensorboard 를 이용하여 현재 학습 상태에 대한 로그를 확인할 수 있다.

댓글