Пример #1
0
    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)
Пример #2
0
    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
Пример #3
0
    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)
Пример #4
0
    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
Пример #5
0
 def __init__(self, *args, **kwargs):
     super(GRID2, self).__init__(*args, **kwargs)
     self.observation_space = Continuous((2, 2, 1))