Unity ML Agent Github

https://github.com/Unity-Technologies/ml-agents

 

GitHub - Unity-Technologies/ml-agents: The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enab

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 using deep reinforcement ...

github.com

ml-agents-release_17을 다운 받으면

 

Unity>Window>PackageManager에서 Resistry>ML Agent를 깔아도 됨 이건 정해진 버전만 받을수있음.

 Git에서 원하는 ML-Agent를 다운받아 깔을수도 있음

프로젝트를 복사해서 유니티에서 Add해서 에러난 ML_Agent를  추가할수 있음

깔려있는 버전으로 로딩

로딩시 패키지매니지 에러나면 무시하고 일단 연다. 이방법은 용량이 크나 버전세팅이 맞아에러가 잘 안난다

에러가 나는 이유는 프로젝트 환경패스가 달라져서 나는거라 필요한 패키지를 다시 깔아주면 된다.

 

+를 눌러 Add package from disk를 선택

com.unity.ml-agents, com.unity.ml-agents.extensions.안의 package.jason을 실행한다.

에러가 사라진다.

유니티와 짝이 맞는 파이썬의 ML-Agent버전을 서로 맞춰야한다. 

Examples폴더의 3DBall안으로 들어

씬폴더내부의 3DBall 을 클릭한다.

에러 무시하고 플레이하면 잘 실행된다.

하이라키의 Agent를 선택한후

 

Behavio Name은 멀티에이전트 환경에서 여러가지  에이전트마다 행동패턴이 다를경우 다르게 설정해준다.

환경에서 관측을 받아 올때 이미지와 벡터를 받아올수 있는데 Space Size를 받아올 데이터갯수 Stacked는 스누적갯수

벡터크기는 SpaceSize x Stacked Vectors

행동은 상하좌우 같은  이산적인 행동과 연속적인 행동이 있다. 연속적인 행동은 아나로그값을 가진 Axis이고

조합도 가능

학습이 완료되면 NN Model이 생기는데 적용해면 학습된 내용데로 움직인다.

Inference Devicce는 Default나 GPU로 해주고 비헤이비어타입은 default가 좋다 Heristic Only는 정해진대로 inference Only를 학습한대로 한다. 학습시 Default로 해야 잘 된다.

Agent끼리 대결시 team id를 다르게 해준다. 알파고의 흑백같이

에이전트가 학습시 수행할 스템수를 정한다. 이후 리셋하고 다시 시작한다. 버그를 막아주기도 한다.

Agent Inspector살펴보기

Ball 3D Agent(script)

 

주로 테스트용 또는 모방 학습에 사용 키보드를 통해 제어할 경우

 

유효성검사를 위해 Model Overrider를 사용하나 여기서는 사용하지 않는다.

'강화학습' 카테고리의 다른 글

onnx pytorch  (0) 2024.08.28
Bootstrapped DQN  (1) 2024.08.27
Python 가상환경 종류  (1) 2024.08.18
준비  (0) 2024.08.03
Kart 환경개발  (0) 2024.08.02

+ Recent posts