コード例 #1
0
def viz_pendulum_rollout(states, actions):
  assert states.shape[0] == actions.shape[0]

  eps = jp.finfo(float).eps

  gymenv = PendulumEnv()
  gymenv.reset()

  for t in range(states.shape[0]):
    gymenv.state = states[t] + jp.pi
    # array(0.0) is False-y which causes problems.
    gymenv.last_u = actions[t] + eps
    gymenv.render()

  gymenv.close()
コード例 #2
0
def record_pendulum_rollout(filepath, states, actions):
    assert states.shape[0] == actions.shape[0]

    eps = jnp.finfo(float).eps

    gymenv = PendulumEnv()
    gymenv.reset()
    video = VideoRecorder(gymenv, path=filepath)

    for t in range(states.shape[0]):
        gymenv.state = states[t] + jnp.pi
        # array(0.0) is False-y which causes problems.
        gymenv.last_u = actions[t] + eps
        # gymenv.step()
        gymenv.render()
        video.capture_frame()

    video.close()
コード例 #3
0
ファイル: test_vectorized.py プロジェクト: sebimarkgraf/rllib
    def test_vectorized_original_equality(self):
        venv = VectorizedPendulumEnv()
        state, action = self.state_action
        action = np.round(action)

        dim1, dim2 = self.dims

        venv.state = state
        vobs, vreward, vdone, _ = venv.step(action)

        env = PendulumEnv()
        for i in range(dim1):
            for j in range(dim2):
                env.state = state[i, j]
                obs, reward, done, _ = env.step(action[i, j])

                np.testing.assert_allclose(obs, vobs[i, j])
                np.testing.assert_allclose(reward, vreward[i, j])
                np.testing.assert_allclose(done, vdone[i, j])
コード例 #4
0
import numpy as np
from gym.envs.classic_control import PendulumEnv
from gym.wrappers.monitoring.video_recorder import VideoRecorder

if __name__ == "__main__":
    T = 1000

    gymenv = PendulumEnv()
    gymenv.reset()
    # Force the initialization.
    gymenv.state = [np.pi, 0]
    gymenv.last_u = None
    video = VideoRecorder(gymenv, path="openai_gym_constant_torque.mp4")

    for t in range(T):
        gymenv.step([-2])
        gymenv.render()
        video.capture_frame()

    gymenv.close()
    video.close()