mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-08-21 06:20:15 +00:00
140 lines
3.9 KiB
ReStructuredText
140 lines
3.9 KiB
ReStructuredText
.. automodule:: gym.vector
|
|
:noindex:
|
|
|
|
API Reference
|
|
=============
|
|
|
|
.. autofunction:: make
|
|
|
|
VectorEnv
|
|
---------
|
|
|
|
.. autoclass:: VectorEnv
|
|
|
|
.. py:property:: action_space
|
|
|
|
:type: :class:`gym.spaces.Space`
|
|
|
|
The (batched) action space. The input actions of :meth:`step` must be valid elements of :obj:`action_space`.
|
|
|
|
.. code-block::
|
|
|
|
>>> envs = gym.vector.make("CartPole-v1", num_envs=3)
|
|
>>> envs.action_space
|
|
MultiDiscrete([2 2 2])
|
|
|
|
.. py:property:: observation_space
|
|
|
|
:type: :class:`gym.spaces.Space`
|
|
|
|
The (batched) observation space. The observations returned by :meth:`reset` and :meth:`step` are valid elements of :obj:`observation_space`.
|
|
|
|
.. code-block::
|
|
|
|
>>> envs = gym.vector.make("CartPole-v1", num_envs=3)
|
|
>>> envs.observation_space
|
|
Box([[-4.8 ...]], [[4.8 ...]], (3, 4), float32)
|
|
|
|
.. py:property:: single_action_space
|
|
|
|
:type: :class:`gym.spaces.Space`
|
|
|
|
The action space of a sub-environment.
|
|
|
|
.. code-block::
|
|
|
|
>>> envs = gym.vector.make("CartPole-v1", num_envs=3)
|
|
>>> envs.single_action_space
|
|
Discrete(2)
|
|
|
|
.. py:property:: single_observation_space
|
|
|
|
:type: :class:`gym.spaces.Space`
|
|
|
|
The observation space of a sub-environment.
|
|
|
|
.. code-block::
|
|
|
|
>>> envs = gym.vector.make("CartPole-v1", num_envs=3)
|
|
>>> envs.single_action_space
|
|
Box([-4.8 ...], [4.8 ...], (4,), float32)
|
|
|
|
.. automethod:: reset
|
|
|
|
.. code-block::
|
|
|
|
>>> envs = gym.vector.make("CartPole-v1", num_envs=3)
|
|
>>> envs.reset()
|
|
array([[-0.04456399, 0.04653909, 0.01326909, -0.02099827],
|
|
[ 0.03073904, 0.00145001, -0.03088818, -0.03131252],
|
|
[ 0.03468829, 0.01500225, 0.01230312, 0.01825218]],
|
|
dtype=float32)
|
|
|
|
.. automethod:: step
|
|
|
|
.. code-block::
|
|
|
|
>>> envs = gym.vector.make("CartPole-v1", num_envs=3)
|
|
>>> envs.reset()
|
|
>>> actions = np.array([1, 0, 1])
|
|
>>> observations, rewards, dones, infos = envs.step(actions)
|
|
|
|
>>> observations
|
|
array([[ 0.00122802, 0.16228443, 0.02521779, -0.23700266],
|
|
[ 0.00788269, -0.17490888, 0.03393489, 0.31735462],
|
|
[ 0.04918966, 0.19421194, 0.02938497, -0.29495203]],
|
|
dtype=float32)
|
|
>>> rewards
|
|
array([1., 1., 1.])
|
|
>>> dones
|
|
array([False, False, False])
|
|
>>> infos
|
|
({}, {}, {})
|
|
|
|
.. automethod:: seed
|
|
|
|
.. code-block::
|
|
|
|
>>> envs = gym.vector.make("CartPole-v1", num_envs=3)
|
|
>>> envs.seed([1, 3, 5])
|
|
>>> envs.reset()
|
|
array([[ 0.03073904, 0.00145001, -0.03088818, -0.03131252],
|
|
[ 0.02281231, -0.02475473, 0.02306162, 0.02072129],
|
|
[-0.03742824, -0.02316945, 0.0148571 , 0.0296055 ]],
|
|
dtype=float32)
|
|
|
|
.. automethod:: close
|
|
|
|
AsyncVectorEnv
|
|
--------------
|
|
|
|
.. autoclass:: AsyncVectorEnv
|
|
|
|
.. automethod:: reset
|
|
|
|
.. note::
|
|
This is equivalent to a call to :meth:`reset_async`, followed by a subsequent call to :meth:`reset_wait` (with no timeout).
|
|
|
|
.. automethod:: reset_async
|
|
.. automethod:: reset_wait
|
|
.. automethod:: step
|
|
|
|
.. note::
|
|
This is equivalent to a call to :meth:`step_async`, followed by a subsequent call to :meth:`step_wait` (with no timeout).
|
|
|
|
.. automethod:: step_async
|
|
.. automethod:: step_wait
|
|
.. automethod:: seed
|
|
.. automethod:: close_extras
|
|
|
|
SyncVectorEnv
|
|
-------------
|
|
|
|
.. autoclass:: SyncVectorEnv
|
|
|
|
.. automethod:: reset
|
|
.. automethod:: step
|
|
.. automethod:: seed
|
|
.. automethod:: close_extras
|
|
|
|
.. _multiprocessing: https://docs.python.org/3/library/multiprocessing.html |