Skip to main content

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')
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

disent-0.0.1.dev1.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

disent-0.0.1.dev1-py3-none-any.whl (2.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page