def __init__(self, world, stage): from nes_py.wrappers import JoypadSpace import gym_super_mario_bros from gym_super_mario_bros.actions import COMPLEX_MOVEMENT env = gym_super_mario_bros.make(f"SuperMarioBros-{world}-{stage}-v0") env = JoypadSpace(env, COMPLEX_MOVEMENT) env = env_wrapper.SkipEnv(env, []) env = env_wrapper.WarpFrame(env, width=84, height=84) env = env_wrapper.MaxAndSkipEnv(env, 4) env = env_wrapper.FrameStack(env, 4) self._env = env
def _thunk(): env = gym.make(env_id) env = env_wrapper.NoopResetEnv(env, noop_max=30) env = env_wrapper.MaxAndSkipEnv(env, skip=4) env.seed(rand_seed + rank) env = env_wrapper.EpisodicLifeEnv(env) if "FIRE" in env.unwrapped.get_action_meanings(): env = env_wrapper.FireResetEnv(env) env = env_wrapper.WarpFrame(env) env = env_wrapper.ClipRewardEnv(env) return env
#---------------------------- parser = argparse.ArgumentParser() parser.add_argument("--env", default="BreakoutNoFrameskip-v4") args = parser.parse_args() #Parameters #---------------------------- n_stack = 4 env_id = args.env save_dir = "./save_" + env_id #Create multiple environments #---------------------------- env = gym.make(env_id) env = env_wrapper.NoopResetEnv(env, noop_max=30) env = env_wrapper.MaxAndSkipEnv(env, skip=4) env = env_wrapper.EpisodicLifeEnv(env) if "FIRE" in env.unwrapped.get_action_meanings(): env = env_wrapper.FireResetEnv(env) env = env_wrapper.WarpFrame(env) env = env_wrapper.FrameStack(env, n_stack) a_dim = env.action_space.n img_height, img_width, c_dim = env.observation_space.shape #Create the model #---------------------------- config = tf.ConfigProto() config.gpu_options.allow_growth = True