grooviiee / python_uav

Challenge to Reinforcement learning.
0 stars 0 forks source link

Need to study gym api #15

Open grooviiee opened 1 year ago

grooviiee commented 1 year ago

gym에는 강화학습 구현에 유용한 도구들이 많이 들어있다. 다른 reference들에서도 gym의 구조체를 가져와서 쓰는 경우가 많다. (예를 들어, gym.spaces)

gym을 공부해야할 시간이다.

grooviiee commented 1 year ago

Spaces document

https://www.gymlibrary.dev/api/spaces/#general-functions

grooviiee commented 1 year ago

https://codetorial.net/articles/cartpole/observations.html를 통해서 gym api 세팅에 대해서 hint를 얻을 수 있었다.

env의 step() 함수를 사용하면 4개의 return 값을 받는다. (observation, reward, done, info) observation은 step 후의 agent status 상태 reward는 step을 했을 때 받은 reward done은 episode의 종료 여부 info는 디버깅에 유용한 정보를 포함한다.

env를 세팅하기 위해서는 observation_space과 action_space를 모두 정의해주어야 한다. space type은 2가지가 존재한다. (Box, Discrete)

Discrete 은 고정된 범위의 음이 아닌 숫자를 허용하는 공간입니다. Box는 n 차원의 값을 나타낸다.

grooviiee commented 1 year ago

Spaces는 box discrete 보다 종류가 훨씬 더 많다.

Multidiscrete도 있고 tuple도 있다.

이거를 flatten해서 강화학습에 사용할 수 있다. Unflatten도 가능하다

Shape를 사용해서 차원의 크기를 리턴할 수도 있다.