Vae disentanglement framework built with pytorch lightning.
Project description
🧶 Disent ⚠️ [W.I.P]
Disentanglement Library for pytorch and pytorch-lightning. With an easy to use configuration based on Hydra.
Documentation: Check out the docs and examples!
Another disentanglement library?
-
I needed to become more familiar with VAE's (Currently working on my masters)
-
DISCLAIMER: This project has its roots in the tensorflow disentanglement_lib library.
-
Weakly-Supervised Disentanglement Without Compromises stated they would release their code as part of disentanglement_lib... I didn't have time to wait... As of September it has been released.
-
The disentanglement_lib still uses Tensorflow 1.0 and Gin Config controls execution, hiding the flow of data in the library (I am not a fan).
Features
Frameworks
- Unsupervised:
- VAE:
- BetaVAE:
- DFCVAE:
- Weakly Supervised:
- Ada-GVAE:
AdaVae(..., average_mode='gvae')
- Ada-ML-VAE:
AdaVae(..., average_mode='ml-vae')
- Ada-GVAE:
- Supervised:
- TVAE:
Metrics
- Disentanglement:
- FactorVAE score:
- DCI:
Datasets:
- Ground Truth:
- Cars3D:
- dSprites:
- MPI3D:
- SmallNORB:
- Shapes3D:
- Ground Truth Non-Overlapping (Synthetic):
- XYBlocks: 3 blocks of decreasing size that move across a grid. Blocks can be one of three colors R, G, B. if a smaller block overlaps a larger one and is the same color, the block is xor'd to black.
- XYSquares: 3 squares (R, G, B) that move across a non-overlapping grid. Obervations have no channel-wise loss overlap.
- XYObject: A simplistic version of dSprites with a single square.
Usage
Disent is still under active development (I an sorry there are no tests yet).
The easiest way to use this library is by running experiements/hydra_system.py
and changing the config in experiements/config/config.yaml
. Configurations are managed by Hydra Config
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for disent-0.0.1.dev1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac7242412c3f382037abdf793591fb4cc1509c828bf831220faff81ddaf3ba44 |
|
MD5 | 422680d044fabcf5a5f57b4295f01300 |
|
BLAKE2b-256 | 73fa1a4f71317c17423902842b0f2802a9e3f67ff900edc2b5238e2199b4de94 |