# scvi.nn.Decoder#

class scvi.nn.Decoder(n_input, n_output, n_cat_list=None, n_layers=1, n_hidden=128, **kwargs)[source]#

Bases: Module

Decodes data from latent space to data space.

n_input dimensions to n_output dimensions using a fully-connected neural network of n_hidden layers. Output is the mean and variance of a multivariate Gaussian

Parameters:
• n_input (int) – The dimensionality of the input (latent space)

• n_output (int) – The dimensionality of the output (data space)

• n_cat_list (Optional[Iterable[int]] (default: None)) – A list containing the number of categories for each category of interest. Each category will be included using a one-hot encoding

• n_layers (int (default: 1)) – The number of fully-connected hidden layers

• n_hidden (int (default: 128)) – The number of nodes per hidden layer

• dropout_rate – Dropout rate to apply to each of the hidden layers

• kwargs – Keyword args for FCLayers

## Methods table#

 forward(x, *cat_list) The forward computation for a single sample.

## Attributes#

training

Decoder.training: bool#

## Methods#

forward

Decoder.forward(x, *cat_list)[source]#

The forward computation for a single sample.

1. Decodes the data from the latent space using the decoder network

2. Returns tensors for the mean and variance of a multivariate distribution

Parameters:
Returns:

2-tuple of torch.Tensor Mean and variance tensors of shape (n_output,)