def sample_dist_from_space(space: gym.Space, seed: int = 0) -> Iterator[SampleDist]: """Creates function to sample `n` elements from from `space`.""" space.seed(seed) def f(n: int) -> np.ndarray: return np.array([space.sample() for _ in range(n)]) yield f
def test_seeding_works(base_space: gym.Space): sparse_space = Sparse(base_space, sparsity=0.) base_space.seed(123) base_sample = base_space.sample() sparse_space.seed(123) sparse_sample = sparse_space.sample() assert equals(base_sample, sparse_sample)
def test_flatten(base_space: gym.Space): sparse_space = Sparse(base_space, sparsity=0.) base_space.seed(123) base_sample = base_space.sample() flattened_base_sample = flatten(base_space, base_sample) sparse_space.seed(123) sparse_sample = sparse_space.sample() flattened_sparse_sample = flatten(sparse_space, sparse_sample) assert equals(flattened_base_sample, flattened_sparse_sample)