:py:mod:`rofunc.learning.RofuncRL.models.utils`
===============================================

.. py:module:: rofunc.learning.RofuncRL.models.utils

.. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils
   :allowtitles:

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

Functions
~~~~~~~~~

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

   * - :py:obj:`build_mlp <rofunc.learning.RofuncRL.models.utils.build_mlp>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.build_mlp
          :summary:
   * - :py:obj:`build_cnn <rofunc.learning.RofuncRL.models.utils.build_cnn>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.build_cnn
          :summary:
   * - :py:obj:`activation_func <rofunc.learning.RofuncRL.models.utils.activation_func>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.activation_func
          :summary:
   * - :py:obj:`init_layers <rofunc.learning.RofuncRL.models.utils.init_layers>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.init_layers
          :summary:
   * - :py:obj:`get_space_dim <rofunc.learning.RofuncRL.models.utils.get_space_dim>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.get_space_dim
          :summary:

API
~~~

.. py:function:: build_mlp(dims: [int], hidden_activation: torch.nn = nn.ReLU, output_activation: torch.nn = None) -> torch.nn.Sequential
   :canonical: rofunc.learning.RofuncRL.models.utils.build_mlp

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.build_mlp

.. py:function:: build_cnn(dims: [int], kernel_size: typing.Union[int, tuple, typing.List], stride: typing.Union[int, tuple, typing.List] = 1, padding: typing.Union[int, tuple, typing.List] = 0, dilation: typing.Union[int, tuple, typing.List] = 1, hidden_activation: torch.nn = nn.ReLU, output_activation: torch.nn = None, pooling=None, pooling_args: dict = None) -> torch.nn.Sequential
   :canonical: rofunc.learning.RofuncRL.models.utils.build_cnn

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.build_cnn

.. py:function:: activation_func(activation: str) -> torch.nn
   :canonical: rofunc.learning.RofuncRL.models.utils.activation_func

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.activation_func

.. py:function:: init_layers(layers, gain=1.0, bias_const=1e-06, init_type='orthogonal')
   :canonical: rofunc.learning.RofuncRL.models.utils.init_layers

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.init_layers

.. py:function:: get_space_dim(space)
   :canonical: rofunc.learning.RofuncRL.models.utils.get_space_dim

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.models.utils.get_space_dim
