コード例 #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
class GYMMB_Pendulum(Env):
    metadata = PendulumEnv.metadata

    def __init__(self):
        self.env = PendulumEnv()
        self.action_space = self.env.action_space
        self.observation_space = self.env.observation_space

    def reset(self):
        return self.env.reset()

    def step(self, action):
        ob, _, _, info = self.env.step(action)
        return ob, None, None, info

    def seed(self, seed=None):
        return self.env.seed(seed)

    def render(self, mode='human'):
        return self.env.render(mode)

    def close(self):
        return self.env.close()

    @staticmethod
    def tasks():
        return dict(standard=StandardTask(), poplin=StandardTask())

    @staticmethod
    def is_done(states):
        bs = states.shape[0]
        return torch.zeros(size=[bs], dtype=torch.bool, device=states.device)  # Always False
コード例 #3
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()
コード例 #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()