본문 바로가기
영상 리뷰/공부·교육 영상 리뷰

홍콩과기대 김성훈 교수님의 OpenAI GYM 게임 실습

by W.H. 2023. 1. 13.
반응형

설치해야 할 것들

1. Python

2. TensorFlow

 - sudo apt-get install python-pip python-dev

 - pip install tensorflow (or pip install tensorflow-gpu)

3. OpenAI Gym

 - sudo apt install cmake

 - apt-get install zlib l g-dev

 - sudo -H pip install gym

 - sudo -H pip install gym[atari]

 

설치 후 터미널이나 커멘드를 날려볼 수 있는 곳에 가서 파이썬 입력!

 

교수님이 쓰시는 버전은 2.7 버전인데 3점대 버전도 괜찮다.

 

 

keyin-and-move
keyin and move

 

 

 

 

 



humkim@rl-hunkim:~$ python

Python 2.7.12 (default, Nov 19 2016, 06:48:10)

[GCC 5.4.0 20160609] on linux2

Type "help", "copyright", "credits" or "license" for more information

>>> import tensorflow

>>> import gym

>>>

 

잘 모를 때 질문할 수 있는 사이트

https://www.facebook.com/groups/TensorFlowKR/

 

설치가 잘 되었으면

import gym

env = gym.make("frozenLake-v0")

observation = env.reset()

for _ in range(1000):

  env.render()

  action = env.action_space.sample()

  observation, reward, done, info = env.step(action)

 

게임을 하기 위해서 파이썬에서 키를 받을 수 있는데 방법이 복잡하므로 그냥 복붙!

 

 

반응형

class _Getch:

    def __call__(self):

              fd = sys.stdin.fileno()

              old_settings = termios.tcgetattr(fd)

              try:

                  tty.setraw(sys.stdin.fileno())

                  ch = sys.stdin.read(3)

              finally:

                  termios.tcsetattr(fd. termios.TCSADRAIN, old_settings)

              return ch

 

inkey = _Getch()

# MACROS

LEFT = 0

DOWN = 1

RIGHT = 2

UP = 3

 

# Key mapping

arrow_keys = {

             '\x1b[A': UP,

             '\x1b[B': DOWN,

             '\x1b[C': RIGHT,

             '\x1b[D': LEFT}

import gym

from gym.envs.registration import register

import sys,tty,termios

 

# Register FrozenLake with is_slippery False

register(

     id='FrozenLake-v3'

     entry_point='gym.envs.toy_text:FrozenLakeEnv',

     kwargs={'map_name' : '4x4', 'is_slippery': False}

)

 

env = gym.make('FrozenLake-v3)

env.render() # Show the initial board

 

while True:

      # Choose an action from keyboard

      key = inkey()

      if key not in arrow_keys.keys():

           print("Game aborted!")

           break

 

      action = arrow_keys[key]

      state, reward, done, info = env.step(action)

      env.render()  # Show the board after action

      print("State: ", state, "Action: ", action, "Reward: ", reward, "Info: ", info)

 

      if done:

           print("Finished with reward", reward)

           break

 

영상 확인: https://www.youtube.com/watch?v=xvDAURQVDhk 

홍콩과기대 김성훈 교수님의 OpenAI GYM 게임 실습

 

반응형

댓글