Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
On the "steerability" of generative adversarial networks
| Date | Stars |
|---|---|
| 2026-07-24 | 267 |
| 2026-07-25 | 267 |
| 2026-07-28 | 267 |
| 2026-07-30 | 267 |
| 2026-08-06 | 267 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# GAN steerability
[Project Page](https://ali-design.github.io/gan_steerability/) | [Paper](https://arxiv.org/abs/1907.07171)
<img src='img/teaser.jpeg' width=600>
On the "steerability" of generative adversarial networks.\
[Ali Jahanian](http://people.csail.mit.edu/jahanian)\*, [Lucy Chai](http://people.csail.mit.edu/lrchai/)\*, [Phillip Isola](http://web.mit.edu/phillipi/)
## Prerequisites
- Linux
- Python 3
- CPU or NVIDIA GPU + CUDA CuDNN
**Table of Contents:**<br>
1. [Setup](#setup)<br>
2. [Visualizations](#visualizations) - plotting image panels, videos, and distributions<br>
3. [Training](#training) - pipeline for training your own walks<br>
4. [Notebooks](#notebooks) - some jupyter notebooks, good place to start for trying your own transformations<br>
5. [PyTorch/Colab Demo](#pytorch) - pytorch implementation in a colab notebook<br>
<a name="setup"/>
## Setup
- Clone this repo:
```bash
git clone https://github.com/ali-design/gan_steerability.git
```
- Install dependencies:
- we provide a Conda `environment.yml` file listing the dependencies. You can create a Conda environment with the dependencies using:
```bash
conda env create -f environment.yml
```
- Download resources:
- we provide a script for downloading associated resources (e.g. stylegan). Fetch these by running:
```bash
bash resources/download_resources.sh
```
<a name="visualizations"/>
## Visualizations
**Plotting image panels:**
<br>
<img src='img/panel.png' width=600>
- Run `python vis_image.py -h` to list available visualization options. The key things to provide are a model checkpoint and a config yml file. We added some pretrained weights in the `./models_pretrained`, but you can also use the models you train yourself.
```bash
python vis_image.py \
models_pretrained/biggan_zoom_linear_lr0.0001_l2/model_20000_final.ckpt \
models_pretrained/biggan_zoom_linear_lr0.0001_l2/opt.yml \
--gpu 0 --num_samples 50 --noise_seed 20 --truncation 0.5 --category 207
python vis_image.py \
models_pretrained/stylegan_color_linear_lr0.0001_l2_cats_w/model_2000_final.ckpt \
models_pretrained/stylegan_color_linear_lr0.0001_l2_cats_w/opt.yml \
--gpu 1 --num_samples 10 --noise_seed 20
```
- By default this will save generated images to `<output_dir>/images` specified in the config yml, unless overwritten with the `--output_dir` option
<br>
**To make a videos:**
<br>
<img src='img/cats.gif' width=300><img src='img/color.gif' width=300>
```bash
python vis_video.py [CHECKPOINT] [CONFIG] --gpu [GPU] --noise_seed [SEED] --sample [SAMPLE]
python vis_video.py models_pretrained/biggan_color_linear_lr0.001_l2/model_20000_final.ckpt \
models_pretrained/biggan_color_linear_lr0.001_l2/opt.yml --gpu 0 --sample 10 \
--noise_seed 20 --truncation 0.5 --category 538 --min_alpha -1 --max_alpha 0
```
- By default this will save output to `<output_dir>/video` specified in the config yml, unless overwritten with the `--output_dir` and `--filename` options
<br>
**To draw distributions:**
<br>
<img src='img/distribution.png' width=300>
To draw distributions, you will need to have downloaded the object detector through `resources/download_resources.sh` (for objects) or installed dlib through `environment.yml` (for faces).
```bash
python vis_distribution.py [CHECKPOINT] [CONFIG] --gpu [GPU]
python vis_distribution.py models_pretrained/biggan_shiftx_linear_lr0.001_l2/model_20000_final.ckpt \
models_pretrained/biggan_shiftx_linear_lr0.001_l2/opt.yml --gpu 0
```
- By default this will save output to `<output_dir>/distribution` specified in the config yml, unless overwritten with the `--output_dir` option
<a name="training"/>
## Training walks
- The current implementation covers these variants:
- models: biggan, stylegan, pgan
- transforms: color, colorlab, shiftx, shifty, zoom, rotate2d, rotate3d
- walk_type: linear, NNz
- losses: l2, lpips
- Some examples of commands for training walks:
```bash
# train a biggan NN walk for shiftx with lExcerpt of 6,969 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:f39815b40f80ca77, topic:deep-learning
matched fp:f39815b40f80ca77, topic:computer-vision
matched fp:f39815b40f80ca77, topic:gan