当前位置: 首页>>代码示例>>Python>>正文


Python gym.Space方法代码示例

本文整理汇总了Python中gym.Space方法的典型用法代码示例。如果您正苦于以下问题:Python gym.Space方法的具体用法?Python gym.Space怎么用?Python gym.Space使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在gym的用法示例。


在下文中一共展示了gym.Space方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def __init__(
        self,
        policy: Type[BasePolicy],
        sess: Optional[tf.Session],
        observation_space: gym.Space,
        action_space: gym.Space,
    ):
        """Constructs a DummyModel with given policy and session.
        :param policy: (BasePolicy) a loaded policy.
        :param sess: (tf.Session or None) a TensorFlow session.
        :return an instance of BaseRLModel.
        """
        super().__init__(policy=policy, env=None, requires_vec_env=True, policy_base="Dummy")
        self.sess = sess
        self.observation_space = observation_space
        self.action_space = action_space 
开发者ID:HumanCompatibleAI,项目名称:adversarial-policies,代码行数:18,代码来源:base.py

示例2: convert_gym_space

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def convert_gym_space(spc):
    """Converts a :gym:`gym.Space <#spaces>` instance to a
    :class:`~texar.agents.Space` instance.

    Args:
        spc: An instance of `gym.Space` or
            :class:`~texar.agents.Space`.
    """
    from texar.agents.agent_utils import Space
    if isinstance(spc, Space):
        return spc
    if isinstance(spc, gym.spaces.Discrete):
        return Space(shape=(), low=0, high=spc.n, dtype=spc.dtype)
    elif isinstance(spc, gym.spaces.Box):
        return Space(
            shape=spc.shape, low=spc.low, high=spc.high, dtype=spc.dtype) 
开发者ID:qkaren,项目名称:Counterfactual-StoryRW,代码行数:18,代码来源:agent_gym_utils.py

示例3: __init__

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def __init__(self, low=None, high=None, shape=None, dtype=None):
        """
        Two kinds of valid input:
            Box(low=-1.0, high=1.0, shape=(3,4)) # low and high are scalars, and shape is provided
            Box(low=np.array([-1.0,-2.0]), high=np.array([2.0,4.0])) # low and high are arrays of the same shape
        """
        if shape is None:
            assert low.shape == high.shape
            shape = low.shape
        else:
            assert np.isscalar(low) and np.isscalar(high)
            low = low + np.zeros(shape)
            high = high + np.zeros(shape)
        if dtype is None:  # Autodetect type
            if (high == 255).all():
                dtype = np.uint8
            else:
                dtype = np.float32
            logger.warn("gym.spaces.Box autodetected dtype as %s. Please provide explicit dtype." % dtype)
        self.low = low.astype(dtype)
        self.high = high.astype(dtype)
        gym.Space.__init__(self, shape, dtype) 
开发者ID:ArztSamuel,项目名称:DRL_DeliveryDuel,代码行数:24,代码来源:box.py

示例4: __init__

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def __init__(self, space, vocab_size, precision=2, max_range=(-100.0, 100.0)):
    self._precision = precision

    # Some gym envs (e.g. CartPole) have unreasonably high bounds for
    # observations. We clip so we can represent them.
    bounded_space = copy.copy(space)
    (min_low, max_high) = max_range
    bounded_space.low = np.maximum(space.low, min_low)
    bounded_space.high = np.minimum(space.high, max_high)
    if (not np.allclose(bounded_space.low, space.low) or
        not np.allclose(bounded_space.high, space.high)):
      logging.warning(
          'Space limits %s, %s out of bounds %s. Clipping to %s, %s.',
          str(space.low), str(space.high), str(max_range),
          str(bounded_space.low), str(bounded_space.high)
      )

    super(BoxSpaceSerializer, self).__init__(bounded_space, vocab_size) 
开发者ID:google,项目名称:trax,代码行数:20,代码来源:space_serializer.py

示例5: test_init_spaces

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def test_init_spaces(self):
        # check correct types for obs and action space
        self.assertIsInstance(self.env.observation_space, gym.Space,
                              msg='observation_space is not a Space object')
        self.assertIsInstance(self.env.action_space, gym.Space,
                              msg='action_space is not a Space object')

        # check low and high values are as expected
        obs_lows = self.env.observation_space.low
        obs_highs = self.env.observation_space.high
        act_lows = self.env.action_space.low
        act_highs = self.env.action_space.high

        places_tol = 3

        for prop, lo, hi in zip(self.env.task.state_variables, obs_lows, obs_highs):
            self.assertAlmostEqual(lo, prop.min, msg=f'{prop} min of {prop.min} does not'
                                                     f'match space low of {lo}')
            self.assertAlmostEqual(hi, prop.max, msg=f'{prop} max of {prop.max} does not'
                                                     f'match space high of {hi}') 
开发者ID:Gor-Ren,项目名称:gym-jsbsim,代码行数:22,代码来源:test_environment.py

示例6: gym_space_distribution

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def gym_space_distribution(space):
    """
    Create a Distribution from a gym.Space.

    If the space is not supported, throws an
    UnsupportedActionSpace exception.
    """
    if isinstance(space, spaces.Discrete):
        return CategoricalSoftmax(space.n)
    elif isinstance(space, spaces.Box):
        return BoxGaussian(space.low, space.high)
    elif isinstance(space, spaces.MultiBinary):
        return MultiBernoulli(space.n)
    elif isinstance(space, spaces.Tuple):
        sub_dists = tuple(gym_space_distribution(s) for s in space.spaces)
        return TupleDistribution(sub_dists)
    elif isinstance(space, spaces.MultiDiscrete):
        discretes = tuple(CategoricalSoftmax(n) for n in space.nvec)
        return TupleDistribution(discretes, to_sample=lambda x: np.array(x, dtype=space.dtype))
    raise UnsupportedGymSpace(space) 
开发者ID:flyyufelix,项目名称:sonic_contest,代码行数:22,代码来源:gym.py

示例7: __init__

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def __init__(self,
                 action_space: gym.Space,
                 observation_space: gym.Space,
                 max_concurrent: int = 100):
        """Initializes an external env.

        Args:
            action_space (gym.Space): Action space of the env.
            observation_space (gym.Space): Observation space of the env.
            max_concurrent (int): Max number of active episodes to allow at
                once. Exceeding this limit raises an error.
        """

        threading.Thread.__init__(self)

        self.daemon = True
        self.action_space = action_space
        self.observation_space = observation_space
        self._episodes = {}
        self._finished = set()
        self._results_avail_condition = threading.Condition()
        self._max_concurrent_episodes = max_concurrent 
开发者ID:ray-project,项目名称:ray,代码行数:24,代码来源:external_env.py

示例8: clip_action

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def clip_action(action, action_space):
    """Clips all actions in `flat_actions` according to the given Spaces.

    Args:
        flat_actions (List[np.ndarray]): The (flattened) list of single action
            components. List will have len=1 for "primitive" action Spaces.
        flat_space (List[Space]): The (flattened) list of single action Space
            objects. Has to be of same length as `flat_actions`.

    Returns:
        List[np.ndarray]: Flattened list of single clipped "primitive" actions.
    """

    def map_(a, s):
        if isinstance(s, gym.spaces.Box):
            a = np.clip(a, s.low, s.high)
        return a

    return tree.map_structure(map_, action, action_space) 
开发者ID:ray-project,项目名称:ray,代码行数:21,代码来源:policy.py

示例9: __init__

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def __init__(self,
                 action_space: gym.Space,
                 observation_space: gym.Space,
                 max_concurrent: int = 100):
        """Initialize a multi-agent external env.

        ExternalMultiAgentEnv subclasses must call this during their __init__.

        Args:
            action_space (gym.Space): Action space of the env.
            observation_space (gym.Space): Observation space of the env.
            max_concurrent (int): Max number of active episodes to allow at
                once. Exceeding this limit raises an error.
        """
        ExternalEnv.__init__(self, action_space, observation_space,
                             max_concurrent)

        # we require to know all agents' spaces
        if isinstance(self.action_space, dict) or isinstance(
                self.observation_space, dict):
            if not (self.action_space.keys() == self.observation_space.keys()):
                raise ValueError("Agent ids disagree for action space and obs "
                                 "space dict: {} {}".format(
                                     self.action_space.keys(),
                                     self.observation_space.keys())) 
开发者ID:ray-project,项目名称:ray,代码行数:27,代码来源:external_multi_agent_env.py

示例10: convert_gym_space

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def convert_gym_space(spc):
    """Converts a :gym:`gym.Space <#spaces>` instance to a
    :class:`~texar.tf.agents.Space` instance.

    Args:
        spc: An instance of `gym.Space` or
            :class:`~texar.tf.agents.Space`.
    """
    from texar.tf.agents.agent_utils import Space
    if isinstance(spc, Space):
        return spc
    if isinstance(spc, gym.spaces.Discrete):
        return Space(shape=(), low=0, high=spc.n, dtype=spc.dtype)
    elif isinstance(spc, gym.spaces.Box):
        return Space(
            shape=spc.shape, low=spc.low, high=spc.high, dtype=spc.dtype) 
开发者ID:asyml,项目名称:texar,代码行数:18,代码来源:agent_gym_utils.py

示例11: __init__

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def __init__(self, ob_space: gym.Space, ac_space: gym.Space):
        self.ob_space = ob_space
        self.ac_space = ac_space
        self.n_env = None
        self.n_steps = None
        self.n_batch = None 
开发者ID:HumanCompatibleAI,项目名称:imitation,代码行数:8,代码来源:base.py

示例12: __init__

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def __init__(
        self,
        observation_space: gym.Space,
        action_space: gym.Space,
        *,
        theta_units: Optional[Iterable[int]] = None,
        theta_kwargs: Optional[dict] = None,
        **kwargs,
    ):
        """Builds a simple reward network.

        Args:
          observation_space: The observation space.
          action_space: The action space.
          theta_units: Number of hidden units at each layer of the feedforward
              reward network theta.
          theta_kwargs: Arguments passed to `build_basic_theta_network`.
          kwargs: Passed through to RewardNet.
        """
        params = locals()
        del params["kwargs"]
        params.update(kwargs)

        self.theta_units = theta_units
        self.theta_kwargs = theta_kwargs or {}
        RewardNet.__init__(self, observation_space, action_space, **kwargs)
        serialize.LayersSerializable.__init__(**params, layers=self._layers) 
开发者ID:HumanCompatibleAI,项目名称:imitation,代码行数:29,代码来源:reward_net.py

示例13: state_space

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def state_space(self) -> gym.Space:
        """State space.

        Often same as observation_space, but differs in POMDPs.
        """
        return self._state_space 
开发者ID:HumanCompatibleAI,项目名称:imitation,代码行数:8,代码来源:resettable_env.py

示例14: observation_space

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def observation_space(self) -> gym.Space:
        """Observation space.

        Return type of reset() and component of step().
        """
        return self._observation_space 
开发者ID:HumanCompatibleAI,项目名称:imitation,代码行数:8,代码来源:resettable_env.py

示例15: action_space

# 需要导入模块: import gym [as 别名]
# 或者: from gym import Space [as 别名]
def action_space(self) -> gym.Space:
        """Action space.

        Parameter type of step().
        """
        return self._action_space 
开发者ID:HumanCompatibleAI,项目名称:imitation,代码行数:8,代码来源:resettable_env.py


注:本文中的gym.Space方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。