yeon_vision_

[가상현실] ML Agent 본문

OTHER COURSE WORK/2023-1 가상현실

[가상현실] ML Agent

lim__ 2023. 4. 13. 16:15

##강화학습

- 보상을 줘서 보상이 높은쪽으로 행동하게 함

- 대표적 예로 classification

 

- 시뮬레이션을 많이 돌림

- 이런 시뮬레이션 돌릴때 unity를 많이 이용.

 

 

##실습

공이 타켓에 가장 적은 시간 동안 도달하는 거리로 도달하게 강화학습.

 

- game object 3개 생성

sphere (이름 agent) 빨강

cube (이름 target) 파랑

plane (이름 floor) 

 

- empty TrainingArea생성하고 거기 폴더 밑에 위 3개 넣어주기.

 

- sphere에 rigid body 추가

 

- window > package manger > packages:Unity Registry로 바꿔서

"ML Agent" 설치

 

- Agent(구)에 add component

1) "agent" script 추가 

  • Packages > ML agent > Runtime의 Agent script랑 우리가 추가한 Agent script가 충돌돼서 에러나서 안됨.
  • 이거 해결법은 공지사항에 있음. version문제임.
  • package manger에서 add from disk로 깃허브에서 다운받은 예전버전의 ml agent 패키지를 추가하면됨.

2) Decision request 어쩌고 추가

 

3) Behavior Parameters도 추가하고 RollaBall 이라하자

  • vector observation > space size 8로. (target의 x,z, agent의 x,y,z, x속도, y속도, 각속도 해서 총 8개 )
  • vector action > space type : continuous로
  • vector action > space size: 2로 (속도랑 각속도)
  • Behaivor Type을 'Heuristic only'로 변경하면 키입력으로만 동작가능. play해보자.

 

이제 ML을 사용해보자.

- ml-agents-release/config 폴더에 trainer_config.yaml 을 사캠에 있는 파일로 대체하자

- trainer_config.yaml 열어보면 RollaBall 어떻게 행동할지 써있음

 

 

-맥북은, 

ml-agents-release 폴더에서 cmd 열어서

tensorboard --logdir logs/fit 

다시 새 cmd에서

mlagents-learn config/trainer_config.yaml --run-id=RollaBallTest --force 

그러고 다시 unity들어가서 Behavior Type 'default'로 바꾸고 play.

 

 

### 여기서부터 수많은 시행착오를 거쳤다... 어쨌든 성공!

- 윈도우

$ pip install "tensorflow>=2.0.0"
$ pip install --upgrade tensorflow-hub

$pip install protobuf==3.20.*

#https://pytorch.org/get-started/locally/ 여기 pytorch 공식 홈피에서 맞는 명령어 확인
$pip3 install torch torchvision torchaudio
$pip3 install numpy --upgrade
$ cd ml-agents
$ pip install -e ml-agents-envs #설치실패해서 안하고 넘어감
$ pip install -e ml-agents #대신에 pip3 install mlagents이거함
# mlagents-learn {학습환경설정파일.yaml} –run-id={Behaviour 명}
$ mlagents-learn ../config/trainer_config.yaml --run-id=RollaBall --force

 

- 이렇게 하면 되야되는데 안되길래 trainer_config.yaml에서 rollaball부분만 따로 빼서 yaml 파일 만들어봄.

- 이때 맨 앞에 behaviors: 를 붙여줘야 에러가 나지 않음!

성공!

최종명령어
C:\Users\deard\Desktop\ml-agents-release_2\ml-agents-release_2\ml-agents>
mlagents-learn ../config/RollaBall.yaml --run-id=RollaBall --force

'OTHER COURSE WORK > 2023-1 가상현실' 카테고리의 다른 글

[가상현실] tracking 2  (0) 2023.05.11
[가상현실] tracking1  (0) 2023.05.04
[가상현실] Vuforia Engine  (0) 2023.04.20
[가상현실] Unity NavMesh  (0) 2023.04.09
[가상현실] 2D game tutorial  (0) 2023.03.30
Comments