- 전체
- 게임 일반 (make game basics)
- 모바일 기획 및 디자인
- GameMaker Studio
- Unity3D
- Cocos2D
- 3D Engine OGRE
- 3D Engine irrlicht
- copperCube
- corona SDK
- Windows Basic Game
- BaaS (Mobile Backend)
- phnegap & cordova
- ionic & anguler
- parse (backend)
- firebase (backend)
- Game Backend Server / Opt
- web assembly
- Smart Makers
- pyGame & Ren'Py
- 머드(MUD) 게임 만들기
- Xamarin(자마린)
- flutter (플루터 앱 개발)
- construct 2 / 3
- pocketbase
- RPG Maker 시리즈
- godot engine
- playmaker(unity)
- react native
Unity3D [Unity] [유니티 게임개발] [Unity] ML-Agents 설치 및 테스트해보기
2023.01.05 20:02
[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
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
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 9 |
[Ren'py] 렌파이로 육성 시뮬레이션 게임 만들기 (4) DSE 를 이용해 이벤트 만들기 (2) : 미연시 만들기
| 졸리운_곰 | 2025.02.21 | 237 |
| 8 |
[Ren'py] 렌파이로 육성 시뮬레이션 게임 만들기 (3) DSE 를 이용해 이벤트 만들기 (1)
| 졸리운_곰 | 2025.02.18 | 203 |
| 7 |
[Ren'py] 렌파이로 육성 시뮬레이션 게임 만들기 (2) 스크린 언어로 스케쥴 화면 만들기
| 졸리운_곰 | 2025.02.17 | 290 |
| 6 |
[ren'py] 렌파이로 육성 시뮬레이션 게임 만들기 (1) 기초 스크립트 작성
| 졸리운_곰 | 2025.02.17 | 508 |
| 5 |
[Ren'Py] 렌파이(RenPy) 에 광고 (애드몹) 붙이기
| 졸리운_곰 | 2024.12.20 | 225 |
| 4 |
[pyGame] python 게임(game)만들기 - 파이썬으로 게임 만들기 튜토리얼
| 졸리운_곰 | 2021.05.12 | 957 |
| 3 |
PyGame - 사용법(기본 실행 구조)
| 졸리운_곰 | 2021.01.03 | 1214 |
| 2 |
[Ren'py] [렌파이] 배포 준비 전 확인 사항
| 졸리운_곰 | 2020.12.19 | 606 |
| 1 |
[python] [ pyGame] 컴퓨터그래픽스 : 그래픽 프리미티브 그리기
| 졸리운_곰 | 2020.08.09 | 397 |

