:py:mod:`rofunc.utils.visualab.segment.vlpart.swintransformer`
==============================================================

.. py:module:: rofunc.utils.visualab.segment.vlpart.swintransformer

.. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`LastLevelP6P7_P5 <rofunc.utils.visualab.segment.vlpart.swintransformer.LastLevelP6P7_P5>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.LastLevelP6P7_P5
          :summary:
   * - :py:obj:`Mlp <rofunc.utils.visualab.segment.vlpart.swintransformer.Mlp>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.Mlp
          :summary:
   * - :py:obj:`WindowAttention <rofunc.utils.visualab.segment.vlpart.swintransformer.WindowAttention>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.WindowAttention
          :summary:
   * - :py:obj:`SwinTransformerBlock <rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformerBlock>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformerBlock
          :summary:
   * - :py:obj:`PatchMerging <rofunc.utils.visualab.segment.vlpart.swintransformer.PatchMerging>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchMerging
          :summary:
   * - :py:obj:`BasicLayer <rofunc.utils.visualab.segment.vlpart.swintransformer.BasicLayer>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.BasicLayer
          :summary:
   * - :py:obj:`PatchEmbed <rofunc.utils.visualab.segment.vlpart.swintransformer.PatchEmbed>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchEmbed
          :summary:
   * - :py:obj:`SwinTransformer <rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`window_partition <rofunc.utils.visualab.segment.vlpart.swintransformer.window_partition>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.window_partition
          :summary:
   * - :py:obj:`window_reverse <rofunc.utils.visualab.segment.vlpart.swintransformer.window_reverse>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.window_reverse
          :summary:
   * - :py:obj:`build_swinbase_fpn_backbone <rofunc.utils.visualab.segment.vlpart.swintransformer.build_swinbase_fpn_backbone>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.build_swinbase_fpn_backbone
          :summary:

Data
~~~~

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

   * - :py:obj:`size2config <rofunc.utils.visualab.segment.vlpart.swintransformer.size2config>`
     - .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.size2config
          :summary:

API
~~~

.. py:class:: LastLevelP6P7_P5(in_channels, out_channels)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.LastLevelP6P7_P5

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

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.LastLevelP6P7_P5

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.LastLevelP6P7_P5.__init__

   .. py:method:: forward(c5)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.LastLevelP6P7_P5.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.LastLevelP6P7_P5.forward

.. py:class:: Mlp(in_features, hidden_features=None, out_features=None, act_layer=nn.GELU, drop=0.0)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.Mlp

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

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.Mlp

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.Mlp.__init__

   .. py:method:: forward(x)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.Mlp.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.Mlp.forward

.. py:function:: window_partition(x, window_size)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.window_partition

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.window_partition

.. py:function:: window_reverse(windows, window_size, H, W)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.window_reverse

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.window_reverse

.. py:class:: WindowAttention(dim, window_size, num_heads, qkv_bias=True, qk_scale=None, attn_drop=0.0, proj_drop=0.0)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.WindowAttention

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

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.WindowAttention

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.WindowAttention.__init__

   .. py:method:: forward(x, mask=None)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.WindowAttention.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.WindowAttention.forward

.. py:class:: SwinTransformerBlock(dim, num_heads, window_size=7, shift_size=0, mlp_ratio=4.0, qkv_bias=True, qk_scale=None, drop=0.0, attn_drop=0.0, drop_path=0.0, act_layer=nn.GELU, norm_layer=nn.LayerNorm)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformerBlock

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

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformerBlock

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformerBlock.__init__

   .. py:method:: forward(x, mask_matrix)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformerBlock.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformerBlock.forward

.. py:class:: PatchMerging(dim, norm_layer=nn.LayerNorm)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchMerging

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

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchMerging

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchMerging.__init__

   .. py:method:: forward(x, H, W)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchMerging.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchMerging.forward

.. py:class:: BasicLayer(dim, depth, num_heads, window_size=7, mlp_ratio=4.0, qkv_bias=True, qk_scale=None, drop=0.0, attn_drop=0.0, drop_path=0.0, norm_layer=nn.LayerNorm, downsample=None, use_checkpoint=False)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.BasicLayer

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

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.BasicLayer

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.BasicLayer.__init__

   .. py:method:: forward(x, H, W)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.BasicLayer.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.BasicLayer.forward

.. py:class:: PatchEmbed(patch_size=4, in_chans=3, embed_dim=96, norm_layer=None)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchEmbed

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

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchEmbed

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchEmbed.__init__

   .. py:method:: forward(x)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchEmbed.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.PatchEmbed.forward

.. py:class:: SwinTransformer(pretrain_img_size=224, patch_size=4, in_chans=3, embed_dim=96, depths=(2, 2, 6, 2), num_heads=(3, 6, 12, 24), window_size=7, mlp_ratio=4.0, qkv_bias=True, qk_scale=None, drop_rate=0.0, attn_drop_rate=0.0, drop_path_rate=0.2, norm_layer=nn.LayerNorm, ape=False, patch_norm=True, out_indices=(0, 1, 2, 3), frozen_stages=-1, use_checkpoint=False)
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer

   Bases: :py:obj:`detectron2.modeling.backbone.backbone.Backbone`

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer.__init__

   .. py:method:: init_weights(pretrained=None)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer.init_weights

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer.init_weights

   .. py:method:: forward(x)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer.forward

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer.forward

   .. py:method:: train(mode=True)
      :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer.train

      .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.SwinTransformer.train

.. py:data:: size2config
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.size2config
   :value: None

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.size2config

.. py:function:: build_swinbase_fpn_backbone()
   :canonical: rofunc.utils.visualab.segment.vlpart.swintransformer.build_swinbase_fpn_backbone

   .. autodoc2-docstring:: rofunc.utils.visualab.segment.vlpart.swintransformer.build_swinbase_fpn_backbone
