본문 바로가기
Have Done/Reinforcement Learning

[강화학습 GYM] env.render()

by 에아오요이가야 2022. 5. 23.

Space Invader 문제를 해결하려고 이것저것 해봤는데 아직 뚫어내지 못했당.

 

그래서 좀더 낮은 level의 문제를 해결하는지 확인해 보고자 Lunar Lander 게임으로 갈아탓다.

 

근데 이전의 시행착오 글에서와 같이 좀 쉬운게임은 코딩 환경설정부터 간단하다.

 

if __name__ == '__main__':
    agent = PolicyGradientAgent(ALPHA=0.001, input_dims=[8], GAMMA=0.99,
                                n_actions=4, layer1_size=128, layer2_size=128)
    # agent.load_checkpoint()
    env = gym.make('LunarLander-v2')
    score_history = []
    score = 0
    num_episodes = 5000
    
    for i in range(num_episodes):
        print('episode: ', i,'score: ', score)
        done = False
        score = 0
        observation = env.reset()
        while not done:
            # env.render()
            action = agent.choose_action(observation)
            observation_, reward, done, info = env.step(action)
            agent.store_rewards(reward)
            observation = observation_
            score += reward
        score_history.append(score)
        agent.learn()
        # agent.save_checkpoint()
    env.close()
    filename = 'lunar-lander-alpha001-128x128fc-newG.png'
    plotLearning(score_history, filename=filename, window=25)

여기서 env.render()를 on 하면 실제 게임하는 장면을 눈으로 확인할 수 있다.

 

학습시킬땐 off 하라 이말이야~

댓글