GFPGAN / PaperModel.md
akhaliq3
spaces demo
f7acea1

Installation

We now provide a clean version of GFPGAN, which does not require customized CUDA extensions. See here for this easier installation.
If you want want to use the original model in our paper, please follow the instructions below.

  1. Clone repo

    git clone https://github.com/xinntao/GFPGAN.git
    cd GFPGAN
    
  2. Install dependent packages

    As StyleGAN2 uses customized PyTorch C++ extensions, you need to compile them during installation or load them just-in-time(JIT). You can refer to BasicSR-INSTALL.md for more details.

    Option 1: Load extensions just-in-time(JIT) (For those just want to do simple inferences, may have less issues)

    # Install basicsr - https://github.com/xinntao/BasicSR
    # We use BasicSR for both training and inference
    pip install basicsr
    
    # Install facexlib - https://github.com/xinntao/facexlib
    # We use face detection and face restoration helper in the facexlib package
    pip install facexlib
    
    pip install -r requirements.txt
    python setup.py develop
    
    # remember to set BASICSR_JIT=True before your running commands
    

    Option 2: Compile extensions during installation (For those need to train/inference for many times)

    # Install basicsr - https://github.com/xinntao/BasicSR
    # We use BasicSR for both training and inference
    # Set BASICSR_EXT=True to compile the cuda extensions in the BasicSR - It may take several minutes to compile, please be patient
    # Add -vvv for detailed log prints
    BASICSR_EXT=True pip install basicsr -vvv
    
    # Install facexlib - https://github.com/xinntao/facexlib
    # We use face detection and face restoration helper in the facexlib package
    pip install facexlib
    
    pip install -r requirements.txt
    python setup.py develop
    

:zap: Quick Inference

Download pre-trained models: GFPGANv1.pth

wget https://github.com/TencentARC/GFPGAN/releases/download/v0.1.0/GFPGANv1.pth -P experiments/pretrained_models
  • Option 1: Load extensions just-in-time(JIT)

    BASICSR_JIT=True python inference_gfpgan.py --model_path experiments/pretrained_models/GFPGANv1.pth --test_path inputs/whole_imgs --save_root results --arch original --channel 1
    
    # for aligned images
    BASICSR_JIT=True python inference_gfpgan.py --model_path experiments/pretrained_models/GFPGANv1.pth --test_path inputs/cropped_faces --save_root results --arch original --channel 1 --aligned
    
  • Option 2: Have successfully compiled extensions during installation

    python inference_gfpgan.py --model_path experiments/pretrained_models/GFPGANv1.pth --test_path inputs/whole_imgs --save_root results --arch original --channel 1
    
    # for aligned images
    python inference_gfpgan.py --model_path experiments/pretrained_models/GFPGANv1.pth --test_path inputs/cropped_faces --save_root results --arch original --channel 1 --aligned