def convert_gym_space(space): if isinstance(space, gym.spaces.Box): return Box(low=space.low, high=space.high) elif isinstance(space, gym.spaces.Discrete): return Discrete(n=space.n) elif isinstance(space, gym.spaces.Tuple): return Product([convert_gym_space(x) for x in space.spaces]) else: raise NotImplementedError
def convert_gym_space(space): # import IPython; IPython.embed() if isinstance(space, gym.spaces.Box): return Box(low=0, high=255, shape=(80, 80)) elif isinstance(space, gym.spaces.Discrete): return Discrete(n=space.n) elif isinstance(space, gym.spaces.Tuple): return Product([convert_gym_space(x) for x in space.spaces]) else: raise NotImplementedError
def convert_gym_space(space, box_additional_dim=0): if isinstance(space, gym.spaces.Box): if box_additional_dim != 0: low = np.concatenate([space.low, [-np.inf] * box_additional_dim]) high = np.concatenate([space.high, [np.inf] * box_additional_dim]) return Box(low=low, high=high) return Box(low=space.low, high=space.high) elif isinstance(space, gym.spaces.Discrete): return Discrete(n=space.n) elif isinstance(space, gym.spaces.Tuple): return Product([convert_gym_space(x) for x in space.spaces]) else: raise NotImplementedError
def convert_gym_space(space): if isinstance(space, gym.spaces.Box): return Box(low=space.low, high=space.high) elif isinstance(space, gym.spaces.Discrete): return Discrete(n=space.n) elif isinstance(space, gym.spaces.Tuple): return Product([convert_gym_space(x) for x in space.spaces]) elif isinstance(space, list): # For multiagent envs return list(map(convert_gym_space, space)) # TODO(cathywu) refactor multiagent envs to use gym.spaces.Tuple # (may be needed for pickling?) else: raise NotImplementedError
def convert_gym_space(space): """ Convert a gym.space to an rllab.space :param space: (obj:`gym.Space`) The Space object to convert :return: converted rllab.Space object """ if isinstance(space, gym.spaces.Box): return Box(low=space.low, high=space.high) elif isinstance(space, gym.spaces.Discrete): return Discrete(n=space.n) elif isinstance(space, gym.spaces.Tuple): return Product([convert_gym_space(x) for x in space.spaces]) elif isinstance(space, gym.spaces.Dict): return Dict(space.spaces) else: raise TypeError
def convert_gym_space(space): if isinstance(space, gym.spaces.Box): return Box(low=space.low, high=space.high) elif isinstance(space, gym.spaces.Discrete): return Discrete(n=space.n) elif isinstance(space, gym.spaces.Tuple): return Product([convert_gym_space(x) for x in space.spaces]) # added for robotics enviroments elif isinstance(space, gym.spaces.Dict): b_low = np.concatenate((space.spaces["desired_goal"].low,space.spaces["achieved_goal"].low,space.spaces["observation"].low)) b_high = np.concatenate((space.spaces["desired_goal"].high,space.spaces["achieved_goal"].high,space.spaces["observation"].high)) name = Box(low=b_low, high=b_high) print(name) return name # end addition else: raise NotImplementedError