def __init__(self, output_path, frame_shape, frames_per_sec): self.proc = None self.output_path = output_path # Frame shape should be lines-first, so w and h are swapped h, w, pixfmt = frame_shape if pixfmt != 3 and pixfmt != 4: raise error.InvalidFrame( "Your frame has shape {}, but we require (w,h,3) or (w,h,4), i.e., RGB values for a w-by-h image, with an optional alpha channel." .format(frame_shape)) self.wh = (w, h) self.includes_alpha = (pixfmt == 4) self.frame_shape = frame_shape self.frames_per_sec = frames_per_sec if distutils.spawn.find_executable('avconv') is not None: self.backend = 'avconv' elif distutils.spawn.find_executable('ffmpeg') is not None: self.backend = 'ffmpeg' else: raise error.DependencyNotInstalled( """Found neither the ffmpeg nor avconv executables. On OS X, you can install ffmpeg via `brew install ffmpeg`. On most Ubuntu variants, `sudo apt-get install ffmpeg` should do it. On Ubuntu 14.04, however, you'll need to install avconv with `sudo apt-get install libav-tools`.""" ) self.start()
import os import numpy as np from envs.gym import utils, error from envs.gym.envs.robotics import rotations, hand_env from envs.gym.envs.robotics.utils import robot_get_obs from envs.gym.envs.robotics.utils import process_data from pdb import set_trace as st try: import mujoco_py except ImportError as e: raise error.DependencyNotInstalled( "{}. (HINT: you need to install mujoco_py, and also perform the setup instructions here: https://github.com/openai/mujoco-py/.)" .format(e)) def quat_from_angle_and_axis(angle, axis): assert axis.shape == (3, ) axis /= np.linalg.norm(axis) quat = np.concatenate([[np.cos(angle / 2.)], np.sin(angle / 2.) * axis]) quat /= np.linalg.norm(quat) return quat # Ensure we get the path separator correct on windows # MANIPULATE_BLOCK_XML = os.path.join('hand', 'manipulate_block.xml') MANIPULATE_EGG_XML = os.path.join('hand', 'site_soft_manipulate_egg.xml') # MANIPULATE_PEN_XML = os.path.join('hand', 'manipulate_pen.xml')
import numpy as np import os from envs import gym from envs.gym import error, spaces from envs.gym import utils from envs.gym.utils import seeding try: import atari_py except ImportError as e: raise error.DependencyNotInstalled( "{}. (HINT: you can install Atari dependencies by running " "'pip install gym[atari]'.)".format(e)) def to_ram(ale): ram_size = ale.getRAMSize() ram = np.zeros((ram_size), dtype=np.uint8) ale.getRAM(ram) return ram class AtariEnv(gym.Env, utils.EzPickle): metadata = {'render.modes': ['human', 'rgb_array']} def __init__( self, game='pong', mode=None, difficulty=None, obs_type='ram',