인공지능/딥러닝

강화학습 - 슈퍼마리오 DQN 기본 코드

해피밀세트 2020. 5. 12. 00:38
반응형

 

기존에 가지고 있던 슈퍼마리오 강화학습 코드가 안돌아가서 해결법을 찾다가 발견한 것들

 

1. pytorch 설치 CPU 버전

!pip install torch==0.3.1                               # 사용 X
conda install pytorch-cpu torchvision-cpu -c pytorch    # 사용 O
!pip install torch

 

 

2. BinarySpaceToDiscreteSpaceEnv 대신 JoypadSpace를 임포트 해야한다.

from nes_py.wrappers import BinarySpaceToDiscreteSpaceEnv   # 사용 X
from nes_py.wrappers import JoypadSpace                     # 사용 O

 

 

3. 슈퍼마리오 DQN 기본 코드

from nes_py.wrappers import JoypadSpace
import gym_super_mario_bros
from gym_super_mario_bros.actions import SIMPLE_MOVEMENT
env = gym_super_mario_bros.make('SuperMarioBros-v0') 
env = JoypadSpace(env, SIMPLE_MOVEMENT)

done = True
for step in range(5000):
    if done:
        state = env.reset()
    state, reward, done, info = env.step(env.action_space.sample())
    env.render()

env.close()

 

 

4. env = gym_super_mario_bros.make() 부분에서 배경을 바꿔서 실행할 수 있다.

env = gym_super_mario_bros.make("SuperMarioBros-v0")
env = gym_super_mario_bros.make("SuperMarioBros-v1")
env = gym_super_mario_bros.make("SuperMarioBros-v2")
env = gym_super_mario_bros.make("SuperMarioBros-v3")
env = gym_super_mario_bros.make("SuperMarioBros2-v0")
env = gym_super_mario_bros.make("SuperMarioBros2-v1")
반응형