mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-07-30 21:34:30 +00:00
Add wrappers to experimental (#201)
This commit is contained in:
@@ -14,7 +14,9 @@ experimental/vector_wrappers
|
||||
|
||||
## Functional Environments
|
||||
|
||||
```{eval-rst}
|
||||
The gymnasium ``Env`` provides high flexibility for the implementation of individual environments however this can complicate parallelism of environments. Therefore, we propose the :class:`gymnasium.experimental.FuncEnv` where each part of environment has its own function related to it.
|
||||
```
|
||||
|
||||
## Wrappers
|
||||
|
||||
@@ -36,64 +38,32 @@ Gymnasium already contains a large collection of wrappers, but we believe that t
|
||||
|
||||
* - Old name
|
||||
- New name
|
||||
- Vector version
|
||||
- Tree structure
|
||||
* - :class:`wrappers.TransformObservation`
|
||||
- :class:`experimental.wrappers.LambdaObservationV0`
|
||||
- VectorLambdaObservation
|
||||
- No
|
||||
* - :class:`wrappers.FilterObservation`
|
||||
- :class:`experimental.wrappers.FilterObservationV0`
|
||||
- VectorFilterObservation (*)
|
||||
- Yes
|
||||
* - :class:`wrappers.FlattenObservation`
|
||||
- :class:`experimental.wrappers.FlattenObservationV0`
|
||||
- VectorFlattenObservation (*)
|
||||
- No
|
||||
* - :class:`wrappers.GrayScaleObservation`
|
||||
- :class:`experimental.wrappers.GrayscaleObservationV0`
|
||||
- VectorGrayscaleObservation (*)
|
||||
- Yes
|
||||
* - :class:`wrappers.ResizeObservation`
|
||||
- :class:`experimental.wrappers.ResizeObservationV0`
|
||||
- VectorResizeObservation (*)
|
||||
- Yes
|
||||
* - Not Implemented
|
||||
* - ``supersuit.reshape_v0``
|
||||
- :class:`experimental.wrappers.ReshapeObservationV0`
|
||||
- VectorReshapeObservation (*)
|
||||
- Yes
|
||||
* - Not Implemented
|
||||
- :class:`experimental.wrappers.RescaleObservationV0`
|
||||
- VectorRescaleObservation (*)
|
||||
- Yes
|
||||
* - Not Implemented
|
||||
* - ``supersuit.dtype_v0``
|
||||
- :class:`experimental.wrappers.DtypeObservationV0`
|
||||
- VectorDtypeObservation (*)
|
||||
- Yes
|
||||
* - :class:`wrappers.PixelObservationWrapper`
|
||||
- PixelObservation
|
||||
- VectorPixelObservation
|
||||
- No
|
||||
- :class:`experimental.wrappers.PixelObservationV0`
|
||||
* - :class:`wrappers.NormalizeObservation`
|
||||
- NormalizeObservation
|
||||
- VectorNormalizeObservation
|
||||
- No
|
||||
- :class:`experimental.wrappers.NormalizeObservationV0`
|
||||
* - :class:`wrappers.TimeAwareObservation`
|
||||
- :class:`experimental.wrappers.TimeAwareObservationV0`
|
||||
- VectorTimeAwareObservation
|
||||
- No
|
||||
* - :class:`wrappers.FrameStack`
|
||||
- FrameStackObservation
|
||||
- VectorFrameStackObservation
|
||||
- No
|
||||
* - Not Implemented
|
||||
- :class:`experimental.wrappers.FrameStackObservationV0`
|
||||
* - ``supersuit.delay_observations_v0``
|
||||
- :class:`experimental.wrappers.DelayObservationV0`
|
||||
- VectorDelayObservation
|
||||
- No
|
||||
* - :class:`wrappers.AtariPreprocessing`
|
||||
- AtariPreprocessing
|
||||
- Not Implemented
|
||||
- No
|
||||
```
|
||||
|
||||
### Action Wrappers
|
||||
@@ -105,24 +75,14 @@ Gymnasium already contains a large collection of wrappers, but we believe that t
|
||||
|
||||
* - Old name
|
||||
- New name
|
||||
- Vector version
|
||||
- Tree structure
|
||||
* - Not Implemented
|
||||
* - ``supersuit.action_lambda_v1``
|
||||
- :class:`experimental.wrappers.LambdaActionV0`
|
||||
- VectorLambdaAction
|
||||
- No
|
||||
* - :class:`wrappers.ClipAction`
|
||||
- :class:`experimental.wrappers.ClipActionV0`
|
||||
- VectorClipAction (*)
|
||||
- Yes
|
||||
* - :class:`wrappers.RescaleAction`
|
||||
- :class:`experimental.wrappers.RescaleActionV0`
|
||||
- VectorRescaleAction (*)
|
||||
- Yes
|
||||
* - Not Implemented
|
||||
* - ``supersuit.sticky_actions_v0``
|
||||
- :class:`experimental.wrappers.StickyActionV0`
|
||||
- VectorStickyAction
|
||||
- No
|
||||
```
|
||||
|
||||
### Reward Wrappers
|
||||
@@ -134,19 +94,12 @@ Gymnasium already contains a large collection of wrappers, but we believe that t
|
||||
|
||||
* - Old name
|
||||
- New name
|
||||
- Vector version
|
||||
* - :class:`wrappers.TransformReward`
|
||||
- :class:`experimental.wrappers.LambdaRewardV0`
|
||||
- VectorLambdaReward
|
||||
* - Not Implemented
|
||||
* - ``supersuit.clip_reward_v0``
|
||||
- :class:`experimental.wrappers.ClipRewardV0`
|
||||
- VectorClipReward (*)
|
||||
* - Not Implemented
|
||||
- RescaleReward
|
||||
- VectorRescaleReward (*)
|
||||
* - :class:`wrappers.NormalizeReward`
|
||||
- NormalizeReward
|
||||
- VectorNormalizeReward
|
||||
- :class:`experimental.wrappers.NormalizeRewardV0`
|
||||
```
|
||||
|
||||
### Common Wrappers
|
||||
@@ -159,37 +112,21 @@ Gymnasium already contains a large collection of wrappers, but we believe that t
|
||||
|
||||
* - Old name
|
||||
- New name
|
||||
- Vector version
|
||||
* - :class:`wrappers.AutoResetWrapper`
|
||||
- AutoReset
|
||||
- VectorAutoReset
|
||||
- :class:`experimental.wrappers.AutoresetV0`
|
||||
* - :class:`wrappers.PassiveEnvChecker`
|
||||
- PassiveEnvChecker
|
||||
- VectorPassiveEnvChecker
|
||||
- :class:`experimental.wrappers.PassiveEnvCheckerV0`
|
||||
* - :class:`wrappers.OrderEnforcing`
|
||||
- OrderEnforcing
|
||||
- VectorOrderEnforcing
|
||||
- :class:`experimental.wrappers.OrderEnforcingV0`
|
||||
* - :class:`wrappers.EnvCompatibility`
|
||||
- Moved to `shimmy <https://github.com/Farama-Foundation/Shimmy/blob/main/shimmy/openai_gym_compatibility.py>`_
|
||||
- Not Implemented
|
||||
* - :class:`wrappers.RecordEpisodeStatistics`
|
||||
- RecordEpisodeStatistics
|
||||
- VectorRecordEpisodeStatistics
|
||||
* - :class:`wrappers.RenderCollection`
|
||||
- RenderCollection
|
||||
- VectorRenderCollection
|
||||
* - :class:`wrappers.HumanRendering`
|
||||
- HumanRendering
|
||||
- Not Implemented
|
||||
* - Not Implemented
|
||||
- :class:`experimental.wrappers.JaxToNumpyV0`
|
||||
- VectorJaxToNumpy (*)
|
||||
* - Not Implemented
|
||||
- :class:`experimental.wrappers.JaxToTorchV0`
|
||||
- VectorJaxToTorch (*)
|
||||
- :class:`experimental.wrappers.RecordEpisodeStatisticsV0`
|
||||
* - :class:`wrappers.AtariPreprocessing`
|
||||
- :class:`experimental.wrappers.AtariPreprocessingV0`
|
||||
```
|
||||
|
||||
### Vector Only Wrappers
|
||||
### Rendering Wrappers
|
||||
|
||||
```{eval-rst}
|
||||
.. py:currentmodule:: gymnasium
|
||||
@@ -199,8 +136,22 @@ Gymnasium already contains a large collection of wrappers, but we believe that t
|
||||
|
||||
* - Old name
|
||||
- New name
|
||||
* - :class:`wrappers.VectorListInfo`
|
||||
- VectorListInfo
|
||||
* - :class:`wrapper.RecordVideo`
|
||||
- :class:`experimental.wrappers.RecordVideoV0`
|
||||
* - :class:`wrappers.HumanRendering`
|
||||
- :class:`experimental.wrappers.HumanRenderingV0`
|
||||
* - :class:`wrappers.RenderCollection`
|
||||
- :class:`experimental.wrappers.RenderCollectionV0`
|
||||
```
|
||||
|
||||
### Environment data conversion
|
||||
|
||||
```{eval-rst}
|
||||
.. py:currentmodule:: gymnasium
|
||||
|
||||
* :class:`experimental.wrappers.JaxToNumpyV0`
|
||||
* :class:`experimental.wrappers.JaxToTorchV0`
|
||||
* :class:`experimental.wrappers.NumpyToTorchV0`
|
||||
```
|
||||
|
||||
## Vector Environment
|
||||
|
@@ -11,8 +11,12 @@
|
||||
.. autoclass:: gymnasium.experimental.wrappers.ReshapeObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.RescaleObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.DtypeObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.PixelObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.NormalizeObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.TimeAwareObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.FrameStackObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.DelayObservationV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.AtariPreprocessingV0
|
||||
```
|
||||
|
||||
## Action Wrappers
|
||||
@@ -24,16 +28,34 @@
|
||||
.. autoclass:: gymnasium.experimental.wrappers.StickyActionV0
|
||||
```
|
||||
|
||||
# Reward Wrappers
|
||||
## Reward Wrappers
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: gymnasium.experimental.wrappers.LambdaRewardV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.ClipRewardV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.NormalizeRewardV0
|
||||
```
|
||||
|
||||
## Common Wrappers
|
||||
## Other Wrappers
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: gymnasium.experimental.wrappers.AutoresetV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.PassiveEnvCheckerV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.OrderEnforcingV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.RecordEpisodeStatisticsV0
|
||||
```
|
||||
|
||||
## Rendering Wrappers
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: gymnasium.experimental.wrappers.RecordVideoV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.HumanRenderingV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.RenderCollectionV0
|
||||
```
|
||||
|
||||
## Environment data conversion
|
||||
```{eval-rst}
|
||||
.. autoclass:: gymnasium.experimental.wrappers.JaxToNumpyV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.JaxToTorchV0
|
||||
.. autoclass:: gymnasium.experimental.wrappers.NumpyToTorchV0
|
||||
```
|
||||
|
Reference in New Issue
Block a user