0. ML-Agents란?
원문
The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents. We provide implementations (based on PyTorch) of state-of-the-art algorithms to enable game developers and hobbyists to easily train intelligent agents for 2D, 3D and VR/AR games. Researchers can also use the provided simple-to-use Python API to train Agents using
지능형 에이전트를 훈련하는 환경, 파이토치 기반이며 간단한 API를 사용하여 에이전트를 훈련시킬 수 있는 툴킷
1. 유니티 설치
유니티 공식 사이트에서 유니티 허브 다운로드 후 유니티 허브를 통해 유니티 설치
만약 install이 진행되지 않는다면 보안 프로그램을 종료 후 설치해 볼 것
2. ML-Agents 다운로드
https://github.com/Unity-Technologies/ml-agents
ML-Agents gitHub에서 소스를 다운로드 현재 최신버전인 2.2.를 사용하였다.
다운로드 후 작업할 디렉토리에 압축 해제
3. Anaconda, Python, learn-ml
3-1. Anaconda
다른 프로젝트의 python과 충돌하지 않도록 가상환경을 사용하며, 사용하기 위해 Anaconda를 사용.
공식 사이트에서 아나콘다 설치
https://docs.anaconda.com/anaconda/install/
설치 확인
3-2. python 설치
ML-Agents의 Docs > Installation을 확인하면 권장 python 버전을 확인 할수 있다.
권장 버전은 3.10.12로 python을 설치
각각 설치, 가상환경 목록 조회, 가상환경 활성화
conda create -n mlagent-3.10.12 python=3.10.12
conda env list
conda activate mlagent-3.10.12
파이썬에서 학습에 사용할 mlagents 설치, 문서 권장 설치 버전인 1.1.0, 설치후 pip list로 라이브러리 설치 확인
pip install mlagents==1.1.0
pip list
4. Unity에 ML-Agents 플러그인 적용
4-1. ML-Agents의 예제 프로젝트 Import
유니티 허브 > add > add project from disk > {압축해제한 경로}\ml-agents-release_22\ml-agents-release_22\Project
좌측 탐색기에서 Asset > Example > Scene > 3DBall 선택
4-2. ML-Agents 플러그인 적용
unity > 상단의 window 메뉴 > package manager 클릭 > 상단의 + > install package from disk > 압축해제 폴더 이동 >
com.unity.ml-agents, com.unity.ml-agents.extension 파일의 package.json 파일 선택
5. 빌드
File > build profile > scene List에 3DBall 확인 > Build
6. 학습
6-1. mlagent-learn
아나콘다 가상 python에서 설치한 mlagent를 사용하여 학습진행.
--env 옵션은 build한 Unity의 파일, env옵션 없이 진행한다면 Unity의 재생 버튼을 사용하여 학습 가능
mlagents-learn {yaml파일} --env={build한 exe 파일} --run-id={결과 저장할 폴더 이름}
# ml-agents 압축 푼 경로에서
mlagents-learn config/ppo/3DBall.yaml --env=../../build_project01/3DBall.exe --run-id=test04
6-2. 결과파일
{압축해제 경로}/results/{run-id}
*.onnx 파일이 학습시킨 모델.
6-3. 적용
모델을 아래에 Drag 혹은 복사 붙여넣기.
적용할 Agent 클릭 후 모델에 Drag > 저장 후 재생
'기타 > 기타의 기타' 카테고리의 다른 글
Spring Integration 컴포넌트 간단정리 (0) | 2024.03.25 |
---|---|
자격증 정리 (0) | 2023.12.28 |
c++ 포인터와 referense를 이용한 두 변수 값 바꾸기 (1) | 2023.12.26 |
JVM Runtime Data Area (1) | 2023.12.23 |