scvi.module.SCANVAE#
- class scvi.module.SCANVAE(n_input, n_batch=0, n_labels=0, n_hidden=128, n_latent=10, n_layers=1, n_continuous_cov=0, n_cats_per_cov=None, dropout_rate=0.1, dispersion='gene', log_variational=True, gene_likelihood='zinb', use_observed_lib_size=True, y_prior=None, labels_groups=None, use_labels_groups=False, linear_classifier=False, classifier_parameters=None, use_batch_norm='both', use_layer_norm='none', **vae_kwargs)[source]#
Bases:
SupervisedModuleClass,VAESingle-cell annotation using variational inference.
This is an implementation of the scANVI model described in [Xu et al., 2021], inspired from M1 + M2 model, as described in (https://arxiv.org/pdf/1406.5298.pdf).
- 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 layern_latent (
int(default:10)) – Dimensionality of the latent spacen_layers (
int(default:1)) – Number of hidden layers used for encoder and decoder NNsn_continuous_cov (
int(default:0)) – Number of continuous covaritesn_cats_per_cov (
Iterable[int] |None(default:None)) – Number of categories for each extra categorical covariatedropout_rate (
float(default:0.1)) – Dropout rate for neural networksdispersion (
Literal['gene','gene-batch','gene-label','gene-cell'] (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 (
Literal['zinb','nb'] (default:'zinb')) –One of:
'nb'- Negative binomial distribution'zinb'- Zero-inflated negative binomial distribution
use_observed_lib_size (
bool(default:True)) – IfTrue, use the observed library size for RNA as the scaling factor in the mean of the conditional distribution.y_prior (
Tensor|None(default:None)) – If None, initialized to uniform probability over cell typeslabels_groups (
Sequence[int] (default:None)) – Label group designationsuse_labels_groups (
bool(default:False)) – Whether to use the label groupslinear_classifier (
bool(default:False)) – If True, uses a single linear layer for classification instead of a multi-layer perceptron.classifier_parameters (
dict|None(default:None)) – Keyword arguments passed intoClassifier.use_batch_norm (
Literal['encoder','decoder','none','both'] (default:'both')) – Whether to use batch norm in layersuse_layer_norm (
Literal['encoder','decoder','none','both'] (default:'none')) – Whether to use layer norm in layers**vae_kwargs – Keyword args for
VAE
Attributes table#
Methods table#
|
Compute the loss. |
Attributes#
- SCANVAE.training: bool#