scvi.module.LDVAE#
- class scvi.module.LDVAE(n_input, n_batch=0, n_labels=0, n_hidden=128, n_latent=10, n_layers_encoder=1, dropout_rate=0.1, dispersion='gene', log_variational=True, gene_likelihood='nb', use_batch_norm=True, bias=False, latent_distribution='normal', use_observed_lib_size=False, **kwargs)[source]#
Bases:
VAE
Linear-decoded Variational auto-encoder model.
Implementation of [Svensson et al., 2020].
This model uses a linear decoder, directly mapping the latent representation to gene expression levels. It still uses a deep neural network to encode the latent representation.
Compared to standard VAE, this model is less powerful, but can be used to inspect which genes contribute to variation in the dataset. It may also be used for all scVI tasks, like differential expression, batch correction, imputation, etc. However, batch correction may be less powerful as it assumes a linear model.
- Parameters:
n_input (
int
) – Number of input genesn_batch (
int
(default:0
)) – Number of batchesn_labels (
int
(default:0
)) – Number of labelsn_hidden (
int
(default:128
)) – Number of nodes per hidden layer (for encoder)n_latent (
int
(default:10
)) – Dimensionality of the latent spacen_layers_encoder (
int
(default:1
)) – Number of hidden layers used for encoder NNsdropout_rate (
float
(default:0.1
)) – Dropout rate for neural networksdispersion (
str
(default:'gene'
)) –One of the following
'gene'
- dispersion parameter of NB is constant per gene across cells'gene-batch'
- dispersion can differ between different batches'gene-label'
- dispersion can differ between different labels'gene-cell'
- dispersion can differ for every gene in every cell
log_variational (
bool
(default:True
)) – Log(data+1) prior to encoding for numerical stability. Not normalization.gene_likelihood (
str
(default:'nb'
)) –One of
'nb'
- Negative binomial distribution'zinb'
- Zero-inflated negative binomial distribution'poisson'
- Poisson distribution
use_batch_norm (
bool
(default:True
)) – Bool whether to use batch norm in decoderbias (
bool
(default:False
)) – Bool whether to have bias term in linear decoderlatent_distribution (
str
(default:'normal'
)) –One of
'normal'
- Isotropic normal'ln'
- Logistic normal with normal params N(0, 1)
use_observed_lib_size (
bool
(default:False
)) – Use observed library size for RNA as scaling factor in mean of conditional distribution.**kwargs –
Attributes table#
Methods table#
Extract per-gene weights (for each Z, shape is genes by dim(Z)) in the linear decoder. |
Attributes#
- LDVAE.training: bool#