Unity ML-Agents 2.0 설치 (ml-agents install)

Unity ML-Agents 2.0 설치 따라하기

Version : Unity 2021.3.5f1

Unity ML-Agents 2.0을 설치를 기록한 글입니다. 에이전트의 버전이 바뀌면 설치법이 달라질 수 있습니다.

(This article records the installation of Unity ML-Agent 2.0. If the version of the agent changes, the installation method may change.)

항상 유니티에서 제공하는 공식 문서를 확인하세요

https://unity.com/kr/products/machine-learning-agents <- 공식 사이트

홈페이지에서 Github에서 다운로드 클릭

Github에서 파일을 받아줍니다.

다운받은 프로젝트의 파일(ml-agents-main)을 프로젝트 폴더에 넣어줍니다.

최신버전 문서를 확인

문서에서 Installation 확인

유니티 버전과 파이썬 버젼을 확인합니다.

파이썬도 필요하니 설치해줍니다.

최신 버전도 좋지만 영상을 따라서 3.6.2 버전을 설치해줍니다.

Windows x86-64 web-based installer 설치

Add Python to 3.6 PATH 선택

강의를 따라서 Customize installation

C:\ 에 Python 폴더를 생성 내부에 3.6.2 폴더를 또 생성하고 그 위치에 설치

설치가 완료된 후에 CMD 창을 열어서 python --version 입력

나는 관리자 권한으로 실행

시스템 환경 변수 편집 실행

건드릴 부분은 없고 설치를 확인하는 절차 입니다.

유니티에서 ml agent 프로젝트를 불러온다.

해당 프로젝트와 내가 사용하는 버젼이 다르다는 뜻 Choose another Editor version 을 누르고

내 유니티 버전으로 변경해준다.

버전이 다르다고 하는데 continue 로 넘겨주고 기다려준다.

열리는 동안 아까 열어둔 CMD 창에서 PyTorch를 설치한다.

powershell
pip3 install torch~=1.7.1 -f https://download.pytorch.org/whl/torch_stable.html

완료!

ml-agents 도 설치해주자

powershell
python -m pip install mlagents==0.28.0

pip 버전이 낮으므로 업그레이드 해주자 ( pip는 unity의 asset store 와 비슷하다 )

powershell
python -m pip install --upgrade pip

다시 ml-agents 설치

강의 영상과는 약간 다르다

완료!

자 이제 직접 훈련을 시켜보자

제 아래의 Getting Started 를 눌러보자

이제 열린 유니티 프로젝트에 3DBall 씬을 열어보자

그리고 플레이

이미 학습되어진 아이들이 작동되고 있다.

이제 학습을 시켜보기 위해서 한마리만 빼고 비활성화해주자

Getting-Started 아래쪽에보면 훈련관련 명령어가 있다.

우리는 이것을 사용한다.

아까 받은 파일인 ml-agents-main 에서 3DBall.yaml 이 있는 것을 확인한다.

ml-agents-main\ml-agents-main\config\ppo

윈도우 폴더 옵션에서 숨김파일, 폴더 및 드라이브 표시 체크

알려진 파일 형식의 파일 확장명 숨기기 해제

를 해주는 것을 추천한다.

cmd 창을 열고 ppo 위치로 이동하자

cd 폴더위치 를 이용하면 편하다

dir로 폴더 내부의 파일이 있는지 확인 하자

이제 명령어로 학습을 시켜보자

mlagents-learn config/ppo/3DBall.yaml --run-id=first3DBallRun

ppo 위치에 있으므로 명령어를 바꾸어서 입력했다.

mlagents-learn 3DBall.yaml --run-id=first3DBallRun

그리고 유니티를 플레이 해준다.

훈련중!@!

훈련 종료는 CTRL + C 버튼으로 종료

응답이 없을 시에는 엔터 몇 번 치고 CTRL + C 를 입력하면 된다.

훈련 결과 파일 onnx를 확인 할 수 있습니다.

그리고 그 파일을 유니티에 넣어줍니다.

그 다음 훈련한 파일을 agent에 넣어줍니다.

그리고 플레이 해줍니다.

훈련이 덜되서 계속 떨어 뜨리네요 ㅠ

이미 훈련을 끝낸 애들과 비교해보겠습니다.

우리가 훈련시킨 아이만... 계속 공을 떨어뜨리네요 ㅋㅋㅋ


추가로 훈련 과정을 그래프로 확인할 수 있다

https://github.com/Unity-Technologies/ml-agents/blob/release_19_docs/docs/Getting-Started.md

CMD 창에서

..... \ml-agents-main\ml-agents-main\config\ppo 위치로 들어가서

powershell
tensorboard --logdir results 입력

나오는 주소를 아무 주소창에 입력하고 이동

아래와 같이 방금 우리가 한 훈련에 대한 정보가 나온다.

텐서보드를 사용하여 훈련에 관한 다양한 정보를 확인하는 방법인데 추후에 따로 정리할 예정

끝