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