Make DoomEnvs ezpickle-able

This commit is contained in:
Jie Tang
2016-05-18 01:47:08 -07:00
parent 4950a7e061
commit 183e3bb335
9 changed files with 13 additions and 1 deletions

View File

@@ -38,6 +38,7 @@ class DoomBasicEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomBasicEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()

View File

@@ -40,6 +40,7 @@ class DoomCorridorEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomCorridorEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()

View File

@@ -30,6 +30,7 @@ class DoomDeathmatchEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomDeathmatchEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()

View File

@@ -39,6 +39,7 @@ class DoomDefendCenterEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomDefendCenterEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()

View File

@@ -39,6 +39,7 @@ class DoomDefendLineEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomDefendLineEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()

View File

@@ -4,6 +4,7 @@ from time import sleep
import numpy
import gym
from gym import utils
try:
import doom_py
@@ -12,9 +13,12 @@ except ImportError as e:
logger = logging.getLogger(__name__)
class DoomEnv(gym.Env):
class DoomEnv(gym.Env, utils.EzPickle):
metadata = {'render.modes': ['human', 'rgb_array']}
def __init__(self):
utils.EzPickle.__init__(self)
def _step(self, action):
# action is a np array but DoomGame.make_action expects a list of ints
list_action = [int(x) for x in action]

View File

@@ -36,6 +36,7 @@ class DoomHealthGatheringEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomHealthGatheringEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()

View File

@@ -36,6 +36,7 @@ class DoomMyWayHomeEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomMyWayHomeEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()

View File

@@ -33,6 +33,7 @@ class DoomTakeCoverEnv(doom_env.DoomEnv):
-----------------------------------------------------
"""
def __init__(self):
super(DoomTakeCoverEnv, self).__init__()
package_directory = os.path.dirname(os.path.abspath(__file__))
self.loader = Loader()
self.game = DoomGame()