Pretrained models

July 24, 2021 ยท View on GitHub

Following are the original trained models that authors made available for the different architectures, compiled here only for convenience. Also some experimental models that have been trained using this repository for use as pretrained models have been added.

Additional custom models can be found in the model database.

In order to use these models, they can be downloaded and saved in any directory and the path should be added to the configuration file (usually pretrain_model_G). The default path to use is experiments/pretrained_models.

Super Resolution

Name Models Short Description Source
ESRGAN 4x_RRDB_ESRGAN.pth, 4x_RRDB_ESRGAN_modarch.pth the final ESRGAN model used in the paper and the modified architecture version from current repo Google Drive
4x_RRDB_PSNR.pth, 4x_RRDB_PSNR_modarch.pth model with high PSNR performance and the modified architecture version from current repo
SRGAN*1 SRGAN_bicx4_303_505.pth 4x SRGAN model (with modification), trained on DIV2K, w/o BN, bicubic downsampling. Google Drive
SRResNet*2 **multiple, see notes below**, SRResNet_bicx4_in3nf64nb16.pth 4x SRResNet model (with modification), trained on DIV2K, w/o BN, bicubic downsampling. Google Drive
PPON PPON.pth PPON model presented in the paper Google Drive
PAN PAN.pth 4x pretrained modified PAN model with self-attention Google Drive
SRFLOW 4x_srflow.pth 4x SRFlow model trained using a ESRGAN model from the original architecture as base (not fully trained) Google Drive
srflow_original.zip the original SRFlow models at 4x and 8x scales (used the modified ESRGAN arch as base model)
SFTGAN segmentation_OST_bic.pth segmentation model for bicubic downsampled images, outdoor scenes Google Drive
sft_net_ini.pth initialized SFTGAN model, initializing the SR generator with SRGAN_bicx4_303_505 parameters
sft_net_torch.pth torch version of SFTGAN model (paper)
SFTGAN_bicx4_noBN_OST_bg.pth PyTorch version of SFTGAN model: trained on OST dataset and use DIV2K as background images, w/o BN, bicubic downsampling

Image to image translation

These initial models are the same as the ones in the original pix2pix and CycleGAN repo and use the default UNet and ResNet networks configuration respectively (ie. using ConvTranspose2d for upsample layers).

Name Models Short Description Source
pix2pix facades_label2photo.pth models originally available in the pix2pix repo. These correspond to the Pix2pix datasets. Google Drive
sat2map.pth
map2sat.pth
edges2shoes.pth
edges2handbags.pth
day2night.pth
CycleGAN facades_label2photo.pth, facades_photo2label.pth models originally available in the CycleGAN repo. These correspond to the CycleGAN datasets. In some cases, only one generator of the cycle was provided, but the missing generator can be trained with the original dataset. Google Drive
sat2map.pth, map2sat.pth
horse2zebra.pth, zebra2horse.pth
summer2winter_yosemite.pth, winter2summer_yosemite.pth
cityscapes_photo2label.pth, cityscapes_label2photo.pth
apple2orange.pth, orange2apple.pth
monet2photo.pth, photo2monet.pth
photo2ukiyoe.pth
photo2cezanne.pth
photo2vangogh.pth
iphone2dslr_flower.pth
WBC wbc.pth 'wbc.pth' is the current pretrained model trained using this code (new versions will be made available with further training). 'wbc_tf_converted.pth' model was converted from the original TensorFlow model in the WBC repo to PyTorch. To be able to interpolate models, other models used it as pretrained, but interpolations with the converted model won't work correctly because of differing padding and upscaling configurations. Google Drive
wbc_tf_converted.pth

Video (Experimental)

Following are some video models that have been trained using the networks available in this repository, many of them are experimental, but are useful to use as pretrained models for testing.

Name Models Short Description Source
SOFVSR SOFVSR.pth 4x pretrained SOFVSR model, using 3 frames Google Drive
SOFVESRGAN SOFVESRGAN.pth 4x pretrained modified SOFVSR model using ESRGAN network for super-resolution, using 3 frames Google Drive
EVSRGAN 4x_EVSRGAN_REDS_pretrained.pth 4x EVSRGAN Pretrained using 3 frames and default arch options pcloud
DVD DVD_REDS-Deinterlace-*_G.pth Real-time Deep Video Deinterlacing pcloud
RIFE RIFE.pth Converted pretrained RIFE model from the three original pickle files into a single pth model Google Drive

Below are some additional notes on some models:

SRResNet (EDSR)

Through experiments it was found that using:

  • no batch normalization
  • residual block style: Conv-ReLU-Conv

are the best network settings for this network.

Qualitative results [PSNR/dB]

Besides the mentioned SRResNet_bicx4_in3nf64nb16.pth, other pretrained SRResNet models can be downloaded from the Google Drive folder, with where trained using different network configurations. Below is a table that compares the results of each configuration (note the name convention, also explained after the table, to identify each configuration):

ModelScaleChannelDIV2K2Set5Set14BSD100Urban100
SRResNet_bicx2_in3nf64nb1612RGB34.720335.83531.643
36.143337.94733.682
SRResNet_bicx3_in3nf64nb163RGB31.01932.44228.499
32.44934.42830.371
SRResNet_bicx4_in3nf64nb164RGB29.05130.27826.853
30.48632.18028.645
SRResNet_bicx8_in3nf64nb168RGB25.42925.35723.348
26.88527.07024.996
SRResNet_bicx2_in1nf64nb162Y35.87037.86433.581
SRResNet_bicx3_in1nf64nb163Y32.18234.26330.186
SRResNet_bicx4_in1nf64nb164Y30.22432.038428.494
SRResNet_bicx8_in1nf64nb168Y26.66026.62124.804

1 bic: MATLAB bicubic downsampling; in3: input has 3 channels; nf64: 64 feature maps; nb16: 16 residual blocks.

2 DIV2K 0801 ~ 0900 validation images.

3 The first row is evaluated on RGB channels, while the secone row is evaluated on Y channel (of YCbCr).

4 (31.901, 29.711)