Pyroved

Latest version: v0.3.0

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

Scan your dependencies

Page 1 of 2

0.3.0

What's Changed
* Remove redundant lines of code by ziatdinovmax in https://github.com/ziatdinovmax/pyroVED/pull/44
* cvae by ziatdinovmax in https://github.com/ziatdinovmax/pyroVED/pull/47
* Devices by ziatdinovmax in https://github.com/ziatdinovmax/pyroVED/pull/49
* Use torch.Generator only if device arg is passed by ziatdinovmax in https://github.com/ziatdinovmax/pyroVED/pull/50
* Fix the traversal manifold visualization by ziatdinovmax in https://github.com/ziatdinovmax/pyroVED/pull/51
* Remove restrictions on matplotlib version by ziatdinovmax in https://github.com/ziatdinovmax/pyroVED/pull/52


**Full Changelog**: https://github.com/ziatdinovmax/pyroVED/compare/v0.2.3...v0.3.0

0.2.3

New functionalities

1) The ability to condition (i)VAE on both continuous and discrete variables. The latter usually represent categorical data classes (aka labels) whereas the former can represent some continuous property (or multiple properties) of the data that we *know*. See the example [notebook](https://colab.research.google.com/github/ziatdinovmax/pyroVED/blob/main/examples/pyroVED_examples_C_cont_VAE.ipynb).

2) (i)VAE for semi-supervised regression. To date, most applications of the semi-supervised VAE were for categorical data. Here we introduce an option to use semi-supervised VAE for regression analysis where for some (small) part of the data both the label variable and the predictors are observed, while for other (larger) part of the data only the predictors are given. The usage of the ss_reg_iVAE [class](https://github.com/ziatdinovmax/pyroVED/blob/main/pyroved/models/ss_reg_ivae.py) is similar to that of the ssiVAE

3) The auxSVITrainer now works for both classification and regression tasks. To choose between the two, use the task argument (e.g. task="classification" or task=regression).

Breaking changes
1) The way categorical variables are passed to ivae.manifold2d has changed.

Before:
python
for i in range(10):
cvae.manifold2d(d=12, label=i, cmap="viridis")

Now:
python
for i in range(10):
cls = pv.utils.to_onehot(torch.tensor([i,]), 10)
cvae.manifold2d(d=12, y=cls, cmap="viridis")

2) pyroVED < 0.2.3 is not compatible with the latest PyTorch version 1.9. Hence, if using earlier pyroVED versions, downgrade to the PyTorch < 1.9. See [this page](https://pytorch.org/get-started/previous-versions/) for details.

0.2.1

Minor bug fixes and improvements

0.2.0

Breaking changes
Due to the addition of scale invariance, it is not sustainable any longer to place a new letter for each invariance before VAE. Hence, from now we are going to call it simply iVAE ('i' for invariant). As a result, the model names change as follows:

trVAE -> iVAE
sstrVAE -> ssiVAE
jtrVAE -> jiVAE

In addition invariances are now passed as a list during the model initialization. For example, to enforce rotation, translation, and scale invariances, use
python
model = pv.models.iVAE(data_dim, latent_dim, invariances=['r', 't', 's'])

To enforce rotational invariance only, use
python
model = pv.models.iVAE(data_dim, latent_dim, invariances=['r'])

Note that the default behavior is invariances=None.

New functionalities
- Scale invariance for all VAE models

Other improvements
- User has now an option to choose a specific GPU device for model and data
- One can now select Gaussian Error Linear Unit (GELU) as an activation function for the encoder and decoder NNs
- Some improvements to documentation

0.1.2

Minor bug fixes and improvements including:
- Option to use different scale factors for discrete and continuous KL terms (for jtrVAE)
- Option to generate and plot traversals of the learned latent manifolds (for jtrVAE and sstrVAE)
- Option to condition data generation with a trained model on the angle and/or shifts

0.1.1

Push minor changes and bug fixes to PyPI

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.