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', y_prior=None, labels_groups=None, use_labels_groups=False, classifier_parameters=None, use_batch_norm='both', use_layer_norm='none', **vae_kwargs)[source]#
Bases:
VAE
Single-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 (
Tunable_
[int
] (default:128
)) – Number of nodes per hidden layern_latent (
Tunable_
[int
] (default:10
)) – Dimensionality of the latent spacen_layers (
Tunable_
[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 (
Optional
[Iterable
[int
]] (default:None
)) – Number of categories for each extra categorical covariatedropout_rate (
Tunable_
[float
] (default:0.1
)) – Dropout rate for neural networksdispersion (
Tunable_
[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 (
Tunable_
[bool
] (default:True
)) – Log(data+1) prior to encoding for numerical stability. Not normalization.gene_likelihood (
Tunable_
[Literal
['zinb'
,'nb'
]] (default:'zinb'
)) –One of:
'nb'
- Negative binomial distribution'zinb'
- Zero-inflated negative binomial distribution
y_prior (default:
None
) – If None, initialized to uniform probability over cell typeslabels_groups (
Optional
[Sequence
[int
]] (default:None
)) – Label group designationsuse_labels_groups (
bool
(default:False
)) – Whether to use the label groupsuse_batch_norm (
Tunable_
[Literal
['encoder'
,'decoder'
,'none'
,'both'
]] (default:'both'
)) – Whether to use batch norm in layersuse_layer_norm (
Tunable_
[Literal
['encoder'
,'decoder'
,'none'
,'both'
]] (default:'none'
)) – Whether to use layer norm in layers**vae_kwargs – Keyword args for
VAE
Attributes table#
Methods table#
|
|
|
Classify cells into cell types. |
|
Compute the loss. |
Attributes#
training
- SCANVAE.training: bool#
Methods#
classification_loss
classify
- SCANVAE.classify(x, batch_index=None, cont_covs=None, cat_covs=None)[source]#
Classify cells into cell types.
loss