Scvi-tools

Latest version: v1.3.0

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 12 of 16

0.10.0

Changes

- PeakVI minor enhancements to differential accessibility and fix scArches support ([1019])
- Add DestVI to the codebase ([1011])
- Versioned tutorial links ([1005])
- Remove old VAEC ([1006])
- Use `.numpy()` to convert torch tensors to numpy ndarrays ([1016])
- Support backed AnnData ([1017]), just load anndata with `scvi.data.read_h5ad(path, backed='r+')`
- Solo interface enhancements ([1009])
- Updated README ([1028])
- Use Python warnings instead of logger warnings ([1021])
- Change totalVI protein background default to `False` is fewer than 10 proteins used ([1034])

Bug fixes

- Fix `SaveBestState` warning ([1024])
- New default SCANVI max epochs if loaded with pretrained SCVI model ([1025]), restores old
`<v0.9` behavior.
- Fix marginal log likelihood computation, which was only being computed on final minibatch of a
dataloader. This bug was introduced in the `0.9.X` versions ([1033]).
- Fix bug where extra categoricals were not properly extended in `transfer_anndata_setup` ([1030]).

Contributors

- [adamgayoso]
- [romain-lopez]
- [talashuach]
- [mjayasur]
- [wukathy]
- [PierreBoyeau]
- [morris-frank]

0.9.1

Changes

- Update Pyro module backend to better enfore usage of `model` and `guide`, automate passing of
number of training examples to Pyro modules ([990])
- Minimum Pyro version bumped ([988])
- Improve docs clarity ([989])
- Add glossary to developer user guide ([999])
- Add num threads config option to `scvi.settings` ([1001])
- Add CellAssign tutorial ([1004])

Contributors

- [adamgayoso]
- [galenxing]
- [mjayasur]
- [wukathy]

0.9

0.9.0

This release features our new software development kit for building new probabilistic models. Our
hope is that others will be able to develop new models by importing scvi-tools into their own
packages.

Important changes

From the user perspective, there are two package-wide API breaking changes and one
{class}`~scvi.model.SCANVI` specific breaking change enumerated below. From the method developer
perspective, the entire model backend has been revamped using PyTorch Lightning, and no old code
will be compatible with this and future versions. Also, we dropped support for Python 3.6.

Breaking change: The `train` method

- `n_epochs` is now `max_epochs` for consistency with PytorchLightning and to better relect the
functionality of the parameter.
- `use_cuda` is now `use_gpu` for consistency with PytorchLightning.
- `frequency` is now `check_val_every_n_epoch` for consistency with PytorchLightning.
- `train_fun_kwargs` and `kwargs` throughout the `train()` methods in the codebase have been
removed and various arguments have been reorganized into `plan_kwargs` and `trainer_kwargs`.
Generally speaking, `plan_kwargs` deal with model optimization like kl warmup, while
`trainer_kwargs` deal with the actual training loop like early stopping.

Breaking change: GPU handling

- `use_cuda` was removed from the init of each model and was not replaced by `use_gpu`. By default
every model is intialized on CPU but can be moved to a device via `model.to_device()`. If a
model is trained with `use_gpu=True` the model will remain on the GPU after training.
- When loading saved models, scvi-tools will always attempt to load the model on GPU unless
otherwise specified.
- We now support specifying which GPU device to use if there are multiple available GPUs.

Breaking change: {class}`~scvi.model.SCANVI`

- {class}`~scvi.model.SCANVI` no longer pretrains an {class}`~scvi.model.SCVI` model by default.
This functionality however is preserved via the new {func}`~scvi.model.SCANVI.from_scvi_model`
method.
- `n_epochs_unsupervised` and `n_epochs_semisupervised` have been removed from `train`. It has been
replaced with `max_epochs` for semisupervised training.
- `n_samples_per_label` is a new argument which will subsample the number of labelled training
examples to train on per label each epoch.

New Model Implementations

- {class}`~scvi.model.PEAKVI` implementation ([877], [921])
- {class}`~scvi.external.SOLO` implementation ([923], [933])
- {class}`~scvi.external.CellAssign` implementation ([940])
- {class}`~scvi.external.RNAStereoscope` and {class}`~scvi.external.SpatialStereoscope`
implementation ([889], [959])
- Pyro integration via {class}`~scvi.module.base.PyroBaseModuleClass` ([895] [903], [927],
[931])

Enhancements

- {class}`~scvi.model.SCANVI` bug fixes ([879])
- {class}`~scvi.external.GIMVI` moved to external api ([885])
- {class}`~scvi.model.TOTALVI`, {class}`~scvi.model.SCVI`, and {class}`~scvi.model.SCANVI` now
support multiple covariates ([886])
- Added callback for saving the best state of a model ([887])
- Option to disable progress bar ([905])
- load() documentation improvements ([913])
- updated tutorials, guides, documentation ([924], [925], [929], [934], [947], [971])
- track is now public ([938])
- {class}`~scvi.model.SCANVI` now logs classficiation loss ([966])
- get_likelihood_parameter() bug ([967])
- model.history are now pandas DataFrames ([949])

Contributors

- [adamgayoso]
- [galenxing]
- [romain-lopez]
- [wukathy]
- [giovp]
- [njbernstein]
- [saketkc]

0.8.1

Enhancements

- `freeze_classifier` option in {func}`~scvi.model.SCANVI.load_query_data` for the case when
- `weight_decay` passed to {func}`~scvi.model.SCANVI.train` also passes to `ClassifierTrainer`

0.8

Page 12 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.