[Unity] [유니티 게임개발] [Unity] ML-Agents 설치 및 테스트해보기

Unity 환경에서 강화학습을 시도해보고자 ML-Agents 설치 및 테스트를 진행해봤다.

 

이 때, 기본적으로 Unity와 Python이 설치되었다는 전제로 진행한다.

 

Unity 환경은 20.3.15 LTS 버전으로 진행하였고, Python은 Anaconda 기반 3.8버전으로 진행하였다.

 

1. 유니티 ml-agents 홈페이지에 들어간다 https://github.com/Unity-Technologies/ml-agents

 

2. 설치하는 방식에 따라 다를 수 있다.

zip 파일로 파일 통째로 받는 방법과 명령어로 진행하는 방법이 있는데 나는 후자로 진행하였다. (차이는 없음)

 

자세한 설명은 https://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Installation.md
사이트에 있지만 이 글을 쓰게 된 이유도 조금 이해하기 어려웠기 때문이다.

현재 지원하는 버전들은 아래와 같은데, 나는 18버전으로 진행하였다.

 

 

3. 다운받고자 하는 폴더에 아래의 명령어를 입력하면, ml-agents라는 폴더가 생성되는 것을 볼 수 있다.

git clone --branch release_18 https://github.com/Unity-Technologies/ml-agents.git


4. Unity를 실행시켜 위의 ml-agents/Project 폴더를 추가하여 실행한다.

 

 

 

5. Package Manager에서 ml-agents 패키지를 추가한다.

1) Windows -> Package Manager 를 클릭한다.

 

 

2) 아래의 그림대로 실행한다. 

 

 

 

3) com.unity.ml-agents 폴더 내 package.json 을 불러와 읽는다.

 

 

4) 정상적으로 읽어졌다면, 6번의 Package Manager에서 ML-agents 버전이 추가된 것을 볼 수 있다.

 

 

6. pip 명령어를 이용해 mlagents 를 설치한다. ( release 버전에 따라 맞춰서 설치 )

 

python -m pip install mlagents==0.27.0

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

7. 다시 유니티로 돌아와 아래의 Scene을 더블 클릭한다. (나의 경우는 3DBall을 예로 들어 진행하였다)

 

 

결과로 유니티 화면에서 위와 같이 나오는 걸 볼 수 있다.

 

 

8. Game 버튼 클릭 후, 재생 버튼을 클릭하면 실행되는 예시를 볼 수 있다.

 

 

 

 

여기까지가 미리 만들어진 ML-Agents 예제를 실행하는 것이였고,

그 다음으로 학습에 대한 예제를 실행해봤다.

 

1. cmd 창을 실행한다 (Anaconda의 경우는 Anaconda Prompt 실행)

 

2. ml-agent 가 설치된 폴더로 이동해 아래의 명령어를 입력하고, 게임을 실행한다.

 

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

 

 

 

 

학습된 가중치는 ml-agents/result/first3DBallRun[폴더명] 에서 onnx 확장자 파일로 있다.

 

3. 파일을 위에서 언급한 3DBall/TFModels 폴더로 이동시킨다. (안해도 상관은 없으나, 경로를 일일이 찾기 귀찮음)

 

 

4. Agent를 클릭해 Model을 변경해 학습된 가중치로 적용한다.

 

 

 

[출처] https://tw0226.tistory.com/92https://tw0226.tistory.com/92

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
128 [게임 일반] 성공적인 하이퍼 캐주얼 게임 제작을 위해 알아야 할 모든 것 졸리운_곰 2023.01.11 9
» [Unity] [유니티 게임개발] [Unity] ML-Agents 설치 및 테스트해보기 file 졸리운_곰 2023.01.05 3
126 [게임 일반] 게임의 정의와 요소 file 졸리운_곰 2023.01.02 6
125 [게임 일반] 게임(Game), 일상에서 만드는 놀이의 즐거움 file 졸리운_곰 2023.01.02 4
124 [게임 일반] 우리는 왜 게임에 빠지는가 - 게임의 요소와 게임 변천의 역사 졸리운_곰 2023.01.02 4
123 [게임 일반] 재미있는 게임이란? 10부. 게임의 6단계 file 졸리운_곰 2023.01.02 7
122 [게임 일반] 재미있는 게임이란? 9부 -스타2의 패턴전략- file 졸리운_곰 2023.01.02 4
121 [게임 일반] 재미있는 게임이란? 8부 -블리자드의 패턴전략- file 졸리운_곰 2023.01.02 2
120 [게임 일반] 재미있는 게임이란? 7부 -Wow의 패턴전략- file 졸리운_곰 2023.01.02 3
119 [게임 일반] 재미있는 게임이란? 6부 -패턴과 리소스- file 졸리운_곰 2023.01.02 1
118 [게임 일반] 재미있는 게임이란? 5부 -카오스 시스템- file 졸리운_곰 2023.01.02 4
117 [게임 일반] 재미있는 게임이란? 4부 -패턴과 상호작용-' file 졸리운_곰 2023.01.02 9
116 [게임 일반] 재미있는 게임이란? 3부 '게임이 나아가야 할 방향' file 졸리운_곰 2023.01.02 3
115 [게임 일반] 재미있는 게임이란? 2부 - 일곱 개의 타부[Taboo] file 졸리운_곰 2023.01.02 3
114 [게임 일반] 재미있는 게임이란? 1부- 게임이란 무엇인가. file 졸리운_곰 2023.01.02 12
113 [Unity] [Unity2D] 유니티 2D기본과 애니메이션 file 졸리운_곰 2022.12.19 11
112 [Unity] Unity 3D Keyframe Animation 유니티 애니메이션 file 졸리운_곰 2022.12.19 10
111 [unity] 유니티 에셋스토어에서 구매한 에셋 불러오기 file 졸리운_곰 2022.12.04 3
110 [WebAssembly] How To Get The Most Out Of OpenGL With C++ And WASM file 졸리운_곰 2022.04.19 43
109 [GameMaker] [한글판] 게임메이커 8 (Game Maker 8) file 졸리운_곰 2022.04.05 28
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED