def __init__(self, env, mode = "grey", frame_count = 1, frame_skip = 1, size = 64, crop = None, record_freq = 20, torch=True): self.name = "Wrapper"+env.name self.env = env self.size = size self.grey = mode=="grey" self.frame_count = frame_count self.frame_skip = frame_skip self.crop = {s:None for s in ["up","down","left","right"]} if crop: for s,val in zip(["up","down","left","right"],CROPS[crop]): self.crop[s]=val if self.grey: self.channels = self.frame_count else: self.channels = 3 * self.frame_count self.record_freq = record_freq self.current_episode = 0 self.memory = deque([],self.frame_count) self.recording = False self.episode = [] self.action_space = env.action_space if torch: self.observation_space = Continuous((self.channels,self.size,self.size)) self.axis =(2,0,1) else: self.observation_space = Continuous((self.size,self.size,self.channels)) self.axis=(0,1,2)
def __init__(self, env, net, coef=1.0): self.name = "Net" + env.name self.env = env self.net = net self.action_space = env.action_space self.observation_space = Continuous(self.net.network.output_shape) self.coef = coef
def __init__(self, grid_size=16, max_time=5000, square_size=2): self.square = square_size self.grid_size = grid_size self.max_time = max_time self.board = np.zeros((self.grid_size, self.grid_size)) self.wall = np.zeros((self.grid_size, self.grid_size)) self.state = np.zeros( (self.grid_size * self.square, self.grid_size * self.square, 3), dtype=np.int32) self.action_space = Discrete(4) self.observation_space = Continuous( (self.grid_size * self.square, self.grid_size * self.square, 3)) self.wall[0, :] = self.wall[:, -1] = 1 step = self.grid_size // 4 self.wall[2 * step, :] = 1 self.wall[2 * step, step:step + 2] = 0 self.wall[2 * step, 3 * step:3 * step + 2] = 0 self.wall = np.maximum(self.wall, self.wall.T)
def __init__(self, grid_size=36, max_time=2000, stochastic=True, square_size=2): self.max_time = max_time self.grid_size = grid_size self.stochastic = stochastic self.name = self.name + "Stochastic" * self.stochastic self.square = square_size self.action_space = Discrete(4) self.observation_space = Continuous( (self.grid_size * self.square, self.grid_size * self.square, 3)) self.board = np.zeros((self.grid_size, self.grid_size)) self.wall = np.zeros((self.grid_size, self.grid_size)) self.state = np.zeros( (self.grid_size * self.square, self.grid_size * self.square, 3), dtype=np.int32) self.found = False
def __init__(self, *args, **kwargs): super(GRID2, self).__init__(*args, **kwargs) self.observation_space = Continuous((2, 2, 1))