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를 설치한다.
pip3 install torch~=1.7.1 -f https://download.pytorch.org/whl/torch_stable.html
완료!
ml-agents 도 설치해주자
python -m pip install mlagents==0.28.0
pip 버전이 낮으므로 업그레이드 해주자 ( pip는 unity의 asset store 와 비슷하다 )
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 위치로 들어가서
tensorboard --logdir results 입력
나오는 주소를 아무 주소창에 입력하고 이동
아래와 같이 방금 우리가 한 훈련에 대한 정보가 나온다.
텐서보드를 사용하여 훈련에 관한 다양한 정보를 확인하는 방법인데 추후에 따로 정리할 예정
끝