
1. 우선 아래 코드를 입력한다.
pip install gym
pip install gym[classic_control]
pip install pygame
2. 연습용 코드...
import gym
env = gym.make( 'CartPole-v1' , render_mode='human' )
state = env.reset()[0]
print('상태: ' , state )
print(f'각각 카트위치{state[0]} 카트의 속도 {state[1]} 막대의 각도 {state[2]} 막대의 각속도(회전속도) {state[3]} ')
action_space = env.action_space
print(f'행동의 차원 수 : {action_space}')

3. env.step(action)으로 시간을 1단계 지나게 한다. 그러면 총 5개의 정보를 얻을수있다.
- next_state: 다음 상태
- reward: 보상 ( float타입의 스칼라 )
- '카트 폴' 문제에서 균형이 유지되면 항상 1.0이다.
- terminated: 목표 상태 도달 여부
- '카트 폴'에서는 막대의 각도가 12도를 초과하거나, 막대가 화면에서 벗어나면 종료된다.
- truncated: MDP 범위 밖의 종료 조건 충족 여부
- info: 추가 정보

5. 예제 코드
- 행동을 0,1중 무작위로 하나만 선택하니 오래 버티지 못하고 금방 무너짐.
import numpy as np
import gym
env = gym.make('CartPole-v1' , render_mode='human')
state = env.reset()[0]
done = False
while not done:
env.render()
action = np.random.choice( [ 0 , 1 ])
next_state , reward , terminated , truncated , info = env.step( action )
done = terminated | truncated
env.close()'코딩 및 기타' 카테고리의 다른 글
| ros ubuntu install (1) | 2024.12.30 |
|---|---|
| 뉴런의 표현 , 활성화 함수 , 손실 함수 , 경사하강법 (0) | 2024.12.18 |
| ProjectFileAppend , ProjectFileAppendProducer (0) | 2024.12.06 |
| 강화 학습이란? (0) | 2024.11.25 |
| 면접준비 (2) | 2024.11.21 |