readme: ---
  license: afl-3.0
  
  tags:
  - feature_extraction
  - image
  - perceptual_metric
  
  datasets:
  - tid2008
  - tid2013
  
  metrics:
  - pearsonr
  
  model-index:
  - name: PerceptNet
    results:
    - task: 
        type: feature_extraction
        name: Perceptual Distance
      dataset:
        type: image
        name: tid2013
      metrics:
      - type: pearsonr
        value: 0.93
        name: PearsonR (MOS)
  ---
  
  # PerceptNet
  
  PercepNet model trained on TID2008 and validated on TID2013, obtaining 0.97 and 0.93 Pearson Correlation respectively.
  
  Link to the run: https://wandb.ai/jorgvt/PerceptNet/runs/28m2cnzj?workspace=user-jorgvt
  
  # Usage
  
  There are two alternatives to use the model: install our development repo and load the pretrained weights manually, and load the model using `from_pretrained_keras`:
  
  ## Loading weights manually
  
  As of now to use the model you have to install the [PerceptNet repo](https://github.com/Jorgvt/perceptnet) to get access to the `PerceptNet` class where you will load the weights available here like this:
  
  ```python
  from perceptnet.networks import PerceptNet
  from tensorflow.keras.utils import get_file
  
  weights_path = get_file(fname='perceptnet_rgb.h5',
                          origin='https://huggingface.co/Jorgvt/PerceptNet/resolve/main/tf_model.h5')
  model = PerceptNet(kernel_initializer='ones', gdn_kernel_size=1, learnable_undersampling=False)
  model.build(input_shape=(None, 384, 512, 3))
  model.load_weights(weights_path)                        
  ```
  
  > PerceptNet requires `wandb` to be installed. It's something we're looking into.
  
  ## Directly from the Hub
  
  As every other *Keras* model in the Hub, it can be loaded as follows:
  
  ```python
  from huggingface_hub import from_pretrained_keras
  model = from_pretrained_keras("Jorgvt/PerceptNet", compile=False)
  ```
  
  > Keep in mind that the model uses grouped convolutions and, at least in Colab, `Unimplemented Errors` may arise when using it in CPU.