무니무니 교수의 시뮬레이션을 보고

머신러닝을 공부하게 되었다.


무니무니 교수는 ode(open dynamics engine)를 사용하는데...

유니티에서도 머신러닝 시뮬레이션을 할 수 있게 되었다! :) 


한 번 setup을 해보도록 하자!

1. 유니티 머신러닝 toolkit download 받기.


2. 유니티는 2017.4 이상 버젼을 다운 받아야 한다. (유니티 허브 다운)


3. 파이썬 3.6버젼 다운(현재 다른 버젼은 지원하지 않음.)

anaconda 다운로드

*anaconda python downgrade방법 (**파이썬 3.6버젼으로 변경.)



mlagent의 파이썬 패키지를 설치

터미널 열기 -> cd ~ (홈으로 간다.) > pwd (현재 위치 확인) > cd (본인의 ml-agents파일로 이동 저장한 toolkit을 열어서 ml-agents-master안에 있는 ml-agents폴더를 가져온다. 드래그 앤 드롭.) > ls(리스트 확인) > pip3 install . (현재 위치에 설치)

mlagents-learn --help로 설치를 확인할 수 있다. 


*unix언어



유니티 hub > installs > 우측 점 세 개> 

add component에서 linux build support를 다운 받는다. (아래와 같은 이미지 이미 설치 된 상태.)



새로운 프로젝트를 생성한다.


1. 다운받은 mlagent-toolkit인 ml-agent-master > unitySDK > Assets > ML-Agents를 오픈한다.

*처음에 파일을 열면 4개의 오류코드가 뜬다. 이 문제는 패키지를 임포트하면 해결된다. 

2. Edit > Project Setting > Player 로 간다.

3-1. Options에 있는 OtherSetting으로 간다.

3-2. Scripting Runtime VersionExperimental로 변경한다. (.NET 4.6 Equivalent or. NET 4.x Equivalent)

* 재시작하게 됨. 

3-3. Scripting Defined SymbolsENABLE_TENSORFLOW를 추가 후 엔터를 누른다. 

4. File > Save Project로 프로젝트를 저장한다. 


TensorFlowSharp Plugin을 다운받는다.  

다운 받은 후에 프로젝트에 import한다. 

Assets > ML-Agents>Plugins>Computer에 설치되었는지 확인한다. 


<미리 세팅되어 있는 모델을 작동>

1. Assets> ML-Agents>Examples>3DBall의 Scene파일을 연다.

2. Ball3DBrain 오브젝트의 Brain 컴포넌트의 Brain Type을 Internal로 변경한다.

3. 플레이한다.


<강화학습을 통하여 Brain 교육시키기>

1.Ball3DBrain 오브젝트의 Brain 컴포넌트의 Brain Type을 External로 변경한다.

2. player setting > Resolution & Presentation > 

Run in Background 체크 / Display Resolution Dialog: Disabled 



2.터미널을 연다.

3. mlagents-learn을 입력한다. 유니티 아스키 아트가 나오면 제대로 따라왔다는 이야기.

4. config/trainer_config.yam1의 위치를 찾아서 확인한 후에 

mlagents-learn config/trainer_config.yaml --run-id=firstRun --train 를 입력한다. 


5. 아래와 같은 이미지가 뜨고 가장 하단의 INFO에 "Start training by pressing the Play button in the Unity Editor" 말이 나오면 unity에서 play 버튼을 누른다.


*아나콘다는 실행된 상태여야 한다. - anaconda navigation창을 실행시켜 둘 것. 


6. 교육이 제대로 실시되고 있다면 아래와 같은 이미지가 나올 것이다. 



훈련을 끝맞춘 후에는 

1. ctrl+c로 훈련에서 빠져나올 수 있다.

2. ml-agents-master > models 폴더를 프로젝트 unitySDK>Assets>ML-Agents>Examples>3DBall>TFModels의 하위 항목으로 넣는다. 

3. Ball3DBrain 오브젝트의 Brain 컴포넌트의 type of Brain을 Internal로 바꾼다. 

4. models 파일 중에 ....bytes로 끝나는 파일을 Brain컴포넌트의 Graph Model에 드래그앤 드랍한다. 

5. play 버튼을 누르면 훈련 받은 simulation 결과가 작동하게 된다. 



reference:

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Basic-Guide.md

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Readme.md

'mlAgent' 카테고리의 다른 글

mlagent 기본적인 환경 구축하기  (0) 2018.11.18
3d ball 환경 분석하기 + tensorBoard사용법  (0) 2018.11.14
ML-Agents Toolkit 개요  (0) 2018.11.11
Posted by 도이(doi)
,