Baseline3 - GYM Custom Environment
Environment 101
Action or Observation Spaces
- gym.spaces.Discrete
- 한번에 하나의 액션을 취할때 사용
- range: [0, n-1]
- Discrete(3) 의경우 0, 1, 2 의 액션이 존재
- gym.spaces.MultiDiscrete
- Discrete 의 묶음이라고 보면 됨
- 예를 들어, 방향키 + 액션버튼1개는
MultiDescrete([5, 2])
이렇게 표현됨- Arrow Keys:
Discrete(5)
-> NOOP[0], UP[1], RIGHT[2], DOWN[3], LEFT[4] - Action A:
Discrete(2)
-> NOOP[0], Action A[1]
- Arrow Keys:
- gym.spaces.Box
- 다차원 공간의 matrix 또는 tensor 형태의 데이터를 표현할때 사용
- parameters
- low: random sampling시에 minimum value
- high: random sampling시에 maximum value
-
box = gym.spaces.Box(low=np.array([-1.0, -2.0]), high=np.array([2.0, 4.0]), dtype=np.float32) box.sample() array([1.76413282, 0.48308708])
-
box = gym.spaces.Box(low=-1, high=1, shape=(3, 2), dtype=np.float32) box.sample() array([[ 0.6516619 , -0.01624624], [ 0.48928288, -0.8799452 ], [ 0.73846203, 0.7973261 ]], dtype=float32)
- gym.spaces.Dict
- dictionary 로 데이터를 표현할때 사용
-
from gym import spaces observation = spaces.Dict({"position": spaces.Discrete(2), "velocity": spaces.Discrete(3)})