:py:mod:`rofunc.learning.RofuncRL.processors.standard_scaler`
=============================================================

.. py:module:: rofunc.learning.RofuncRL.processors.standard_scaler

.. autodoc2-docstring:: rofunc.learning.RofuncRL.processors.standard_scaler
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`RunningStandardScaler <rofunc.learning.RofuncRL.processors.standard_scaler.RunningStandardScaler>`
     -

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`empty_preprocessor <rofunc.learning.RofuncRL.processors.standard_scaler.empty_preprocessor>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.processors.standard_scaler.empty_preprocessor
          :summary:

API
~~~

.. py:class:: RunningStandardScaler(size: typing.Union[int, typing.Tuple[int], gym.Space, gymnasium.Space], epsilon: float = 1e-08, clip_threshold: float = 5.0, device: typing.Optional[typing.Union[str, torch.device]] = None)
   :canonical: rofunc.learning.RofuncRL.processors.standard_scaler.RunningStandardScaler

   Bases: :py:obj:`torch.nn.Module`

   .. py:method:: forward(x: torch.Tensor, train: bool = False, inverse: bool = False, no_grad: bool = True) -> torch.Tensor
      :canonical: rofunc.learning.RofuncRL.processors.standard_scaler.RunningStandardScaler.forward

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.processors.standard_scaler.RunningStandardScaler.forward

.. py:function:: empty_preprocessor(_input, *args, **kwargs)
   :canonical: rofunc.learning.RofuncRL.processors.standard_scaler.empty_preprocessor

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.processors.standard_scaler.empty_preprocessor
