===============
torchgan.layers
===============

.. currentmodule:: torchgan.layers

This layers subpackage is a collection of popular building blocks
for GAN architectures. Currently the following blocks are supported:

.. contents::
    :local:

Residual Blocks
===============

ResidualBlock2d
---------------

.. autoclass:: ResidualBlock2d
    :members:

ResidualBlockTranspose2d
------------------------

.. autoclass:: ResidualBlockTranspose2d
    :members:

Densenet Blocks
===============

BasicBlock2d
------------

.. autoclass:: BasicBlock2d
    :members:

BottleneckBlock2d
-----------------

.. autoclass:: BottleneckBlock2d
    :members:

TransitionBlock2d
-----------------

.. autoclass:: TransitionBlock2d
    :members:

TransitionBlockTranspose2d
--------------------------

.. autoclass:: TransitionBlockTranspose2d
    :members:

DenseBlock2d
------------

.. autoclass:: DenseBlock2d
    :members:

Self Attention
==============

SelfAttention2d
---------------

.. autoclass:: SelfAttention2d
    :members:

Spectral Normalization
======================

SpectralNorm2d
--------------

.. autoclass:: SpectralNorm2d
    :members:

Minibatch Discrimination
========================

MinibatchDiscrimination1d
-------------------------

.. autoclass:: MinibatchDiscrimination1d
    :members:

Virtual Batch Normalization
===========================

VirtualBatchNorm
----------------

.. autoclass:: VirtualBatchNorm
    :members:
