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.
-
Clone repo
git clone https://github.com/xinntao/GFPGAN.git cd GFPGAN
-
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
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