A method to generate counterfactuals
Project description
Latent Shift - A Simple Autoencoder Approach to Counterfactual Generation
The idea
Read the paper: https://arxiv.org/abs/2102.09475
Watch a video: https://www.youtube.com/watch?v=1fxSDP8DheI
The main diagram:
Animations/GIFs
Smiling | Arched Eyebrows |
---|---|
Mouth Slightly Open | Young |
---|---|
Generating a transition sequence
For a predicting of smiling
Multiple different targets
Comparison to traditional methods
For a predicting of pointy_nose
Getting Started
# Load classifier and autoencoder
model = classifiers.FaceAttribute()
ae = autoencoders.Transformer(weights="celeba")
# Load image
input = torch.randn(1, 3, 1024, 1024)
# Defining Latent Shift module
attr = captum.attr.LatentShift(model, ae)
# Computes counterfactual for class 3.
output = attr.attribute(input, target=3)
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
latentshift-0.0.3.tar.gz
(5.7 kB
view hashes)
Built Distribution
Close
Hashes for latentshift-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95ef0cd535099b67525b5e4140132a7f4ebcf91f283e73952183935fe1156110 |
|
MD5 | ed6c05e5ee7b646bd96dc8e85782e1d8 |
|
BLAKE2b-256 | 55bf3017db9b3f676ef6fdf3c13183d705411eb4cac12e11bea0307123087b91 |