BLOG
인공지능

강화학습: Open Ai Gym 환경 불러오기


June 23, 2022, 10:37 p.m.



2022.10.26 수정

Open Ai에서는 Gym이라는 형태로 강화학습 알고리즘을 테스트 해볼 수 있는 다양한 환경을 제공합니다. 간단한 Text 게임에서부터 기초적인 움직임제어, 자동차나 이족보행 제어와 같은 환경이 제공되며 또한 3차원상에서의 움직임 제어나 Atari의 고전 게임들도 제공하고 있습니다.

이번 포스트에서는 파이썬 환경에서 OpenAi의 Gym 환경을 설치하고 불러오는 방법을 알아보도록 하겠습니다.

Gym에 대한 공식 문서입니다. Gym Documentation

1. 설치


설치는 pip를 이용해 간단하게 완료할 수 있습니다.

pip install gym

2. 사용


gym에서는 굉장히 많은 환경을 불러올 수 있습니다. 공식문서에 들어가보면 굉장히 많은 환경을 지원하는 모습을 볼 수 있습니다.

하지만 모두 같은 방식으로 동작합니다. 공식문서에서 제공하는 사용 코드입니다.

import gym
env = gym.make("LunarLander-v2")
observation, info = env.reset(seed=42, return_info=True)
for _ in range(1000):
   env.render()
   action = policy(observation)  # User-defined policy function
   observation, reward, term, trunc, info = env.step(action)

   if done:
      observation, info = env.reset(return_info=True)
env.close()
  1. 먼저 gym을 임포트 합니다. gym.make()를 통해서 원하는 환경을 불러올 수 있습니다.
  2. env.reset()을 통해 환경을 초기화 합니다. 반환값으로 초기 상태와 추가 정보를 받습니다.
  3. env.render()로 환경을 렌더링합니다. 학습시에는 호출하지 않아서 속도를 높일 수 있습니다.
  4. env.step(action)을 통해서 한 타임스텝을 진행합니다. 반환값으로 다음 상태, 보상, 에피소드 완료 여부, 그리고 추가 정보를 받습니다.

gym에서 제공하는 모든 환경은 같은 방식을 사용하기 때문에 쉽게 적용해서 사용할 수 있을 것입니다.

만약 colab 환경에서 gym을 사용할경우 colabgymreder를 이용해서 환경을 렌더링 할 수 있습니다. 아래의 글을 참고하세요.

구글 코랩(Colaboratory)에서 OpenAI gym 사용하기, colabgymrender

강화학습 gym



Search