@classmethod
def body(cls, inputs, **kwargs):
    """ Create encoder, embedding and decoder

        Parameters
        ----------
        inputs
            input tensor
        filters : tuple of int
            number of filters in decoder blocks

        Returns
        -------
        nn.Module
        """
    kwargs = cls.fill_params('body', **kwargs)
    encoder = kwargs.pop('encoder')
    decoder = kwargs.pop('decoder')
    embedding = kwargs.pop('embedding')
    encoder_outputs = cls.encoder(inputs, **encoder, **kwargs)
    x = cls.embedding(encoder_outputs[-1], **embedding, **kwargs)
    if x != encoder_outputs[-1]:
        encoder_outputs += [x]
    x = cls.decoder(encoder_outputs, **decoder, **kwargs)
    return x
