XingangPan /DragGAN

Official Code for DragGAN (SIGGRAPH 2023)

★ 35,697⑂ 3,383👁 958⑃ 32● 191▤ 0◈ 0
PythonNOASSERTIONCreated 2023-05-18vcai.mpi-inf.mpg.de/projects/DragGAN/
35,697
stars
+-2
3,383
forks
958
watchers
32
prs
191
issues
0
releases
0
discussions

README

Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold
  
    Xingang Pan
    ·
    Ayush Tewari
    ·
    Thomas Leimkühler
    ·
    Lingjie Liu
    ·
    Abhimitra Meka
    ·
    Christian Theobalt
  
  SIGGRAPH 2023 Conference Proceedings
  
    
  

  
  
    
    
    
      
    
    
      
    
  


 Web Demos




  


 Requirements

If you have CUDA graphic card, please follow the requirements of NVlabs/stylegan3.  

The usual installation steps involve the following commands, they should set up the correct CUDA version and all the python packages


conda env create -f environment.yml
conda activate stylegan3


Then install the additional requirements


pip install -r requirements.txt


Otherwise (for GPU acceleration on MacOS with Silicon Mac M1/M2, or just CPU) try the following:

sh
cat environment.yml | \
  grep -v -E 'nvidia|cuda'  environment-no-nvidia.yml && \
    conda env create -f environment-no-nvidia.yml
conda activate stylegan3

 On MacOS
export PYTORCH_ENABLE_MPS_FALLBACK=1


 Run Gradio visualizer in Docker 

Provided docker image is based on NGC PyTorch repository. To quickly try out visualizer in Docker, run the following:  

sh
 before you build the docker container, make sure you have cloned this repo, and downloaded the pretrained model by python scripts/download_model.py.
docker build . -t draggan:latest  
docker run -p 7860:7860 -v "$PWD":/workspace/src -it draggan:latest bash
 (Use GPU)if you want to utilize your Nvidia gpu to accelerate in docker, please add command tag --gpus all, like:
   docker run --gpus all  -p 7860:7860 -v "$PWD":/workspace/src -it draggan:latest bash

cd src && python visualizer_drag_gradio.py --listen

Now you can open a shared link from Gradio (printed in the terminal console).   
Beware the Docker image takes about 25GB of disk space!

 Download pre-trained StyleGAN2 weights

To download pre-trained weights, simply run:


python scripts/download_model.py

If you want to try StyleGAN-Human and the Landscapes HQ (LHQ) dataset, please download weights from these links: StyleGAN-Human, LHQ, and put them under ./checkpoints.

Feel free to try other pretrained StyleGAN.

 Run DragGAN GUI

To start the DragGAN GUI, simply run:
sh
sh scripts/gui.sh

If you are using windows, you can run:

.\scripts\gui.bat


This GUI supports editing GAN-generated images. To edit a real image, you need to first perform GAN inversion using tools like PTI. Then load the new latent code and model weights to the GUI.

You can run DragGAN Gradio demo as well, this is universal for both windows and linux:
sh
python visualizer_drag_gradio.py


 Acknowledgement

This code is developed based on StyleGAN3. Part of the code is borrowed from StyleGAN-Human.

(cheers to the community as well)
 License

The code related to the DragGAN algorithm is licensed under CC-BY-NC.
However, most of this project are available under a separate license terms: all codes used or modified from StyleGAN3 is unde

Top issues

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON