credit.models.unet_downscaling
==============================

.. py:module:: credit.models.unet_downscaling


Attributes
----------

.. autoapisummary::

   credit.models.unet_downscaling.logger
   credit.models.unet_downscaling.supported_models
   credit.models.unet_downscaling.supported_encoders


Classes
-------

.. autoapisummary::

   credit.models.unet_downscaling.DownscalingSegmentationModel


Functions
---------

.. autoapisummary::

   credit.models.unet_downscaling.load_premade_encoder_model


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

.. py:data:: logger

.. py:data:: supported_models

.. py:data:: supported_encoders
   :value: ['resnet18', 'resnet34', 'resnet50', 'resnet101', 'resnet152', 'resnext50_32x4d',...


.. py:function:: load_premade_encoder_model(model_conf)

.. py:class:: DownscalingSegmentationModel(channels: dict, image_height=640, image_width=1280, frames=2, rk4_integration=False, architecture=None, post_conf=None, **kwargs)

   Bases: :py:obj:`credit.models.base_model.BaseModel`


   Base class for all neural network modules.

   Your models should also subclass this class.

   Modules can also contain other Modules, allowing them to be nested in
   a tree structure. You can assign the submodules as regular attributes::

       import torch.nn as nn
       import torch.nn.functional as F


       class Model(nn.Module):
           def __init__(self) -> None:
               super().__init__()
               self.conv1 = nn.Conv2d(1, 20, 5)
               self.conv2 = nn.Conv2d(20, 20, 5)

           def forward(self, x):
               x = F.relu(self.conv1(x))
               return F.relu(self.conv2(x))

   Submodules assigned in this way will be registered, and will also have their
   parameters converted when you call :meth:`to`, etc.

   .. note::
       As per the example above, an ``__init__()`` call to the parent class
       must be made before assignment on the child.

   :ivar training: Boolean represents whether this module is in training or
                   evaluation mode.
   :vartype training: bool


   .. py:attribute:: image_height
      :value: 640



   .. py:attribute:: image_width
      :value: 1280



   .. py:attribute:: frames
      :value: 2



   .. py:attribute:: channels


   .. py:attribute:: rk4_integration
      :value: False



   .. py:attribute:: input_channels


   .. py:attribute:: output_channels


   .. py:attribute:: model


   .. py:attribute:: use_post_block


   .. py:method:: forward(x)


   .. py:method:: rk4(x)


