示例#1
0
def test_gym_copy_reseeding_2():
    seeder = Seeder(123)
    if _GYM_INSTALLED:
        gym_env = gym.make("Acrobot-v1")
        # nested wrapping
        env = RescaleRewardWrapper(Wrapper(Wrapper(gym_env)), (0, 1))
        env.reseed(seeder)

        c_env = deepcopy(env)
        c_env.reseed()

        if deepcopy(env).is_online():
            traj1 = get_env_trajectory(env, 500)
            traj2 = get_env_trajectory(c_env, 500)
            assert not compare_trajectories(traj1, traj2)
示例#2
0
def test_rescale_wrapper_seeding(ModelClass):
    env1 = RescaleRewardWrapper(ModelClass(), (0, 1))
    seeder = Seeder(123)
    env1.reseed(seeder)

    env2 = RescaleRewardWrapper(ModelClass(), (0, 1))
    seeder = Seeder(456)
    env2.reseed(seeder)

    env3 = RescaleRewardWrapper(ModelClass(), (0, 1))
    seeder = Seeder(123)
    env3.reseed(seeder)

    if deepcopy(env1).is_online():
        traj1 = get_env_trajectory(env1, 500)
        traj2 = get_env_trajectory(env2, 500)
        traj3 = get_env_trajectory(env3, 500)

        assert not compare_trajectories(traj1, traj2)
        assert compare_trajectories(traj1, traj3)