Image-to-Image
PyTorch
android

ESRGAN: Optimized for Qualcomm Devices

ESRGAN is a machine learning model that upscales an image with minimal loss in quality.

This is based on the implementation of ESRGAN found here. This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the Qualcomm® AI Hub Models library to export with custom configurations. More details on model performance across various devices, can be found here.

Qualcomm AI Hub Models uses Qualcomm AI Hub Workbench to compile, profile, and evaluate this model. Sign up to run these models on a hosted Qualcomm® device.

Getting Started

There are two ways to deploy this model on your device:

Option 1: Download Pre-Exported Models

Below are pre-exported model assets ready for deployment.

Runtime Precision Chipset SDK Versions Download
ONNX float Universal QAIRT 2.45, ONNX Runtime 1.25.0 Download
ONNX w8a16 Universal QAIRT 2.45, ONNX Runtime 1.25.0 Download
QNN_DLC float Universal QAIRT 2.45 Download
QNN_DLC w8a16 Universal QAIRT 2.45 Download
TFLITE float Universal QAIRT 2.45 Download

For more device-specific assets and performance metrics, visit ESRGAN on Qualcomm® AI Hub.

Option 2: Export with Custom Configurations

Use the Qualcomm® AI Hub Models Python library to compile and export the model with your own:

  • Custom weights (e.g., fine-tuned checkpoints)
  • Custom input shapes
  • Target device and runtime configurations

This option is ideal if you need to customize the model beyond the default configuration provided here.

See our repository for ESRGAN on GitHub for usage instructions.

Model Details

Model Type: Model_use_case.super_resolution

Model Stats:

  • Model checkpoint: ESRGAN_x4
  • Input resolution: 128x128
  • Number of parameters: 16.7M
  • Model size (float): 63.9 MB

Performance Summary

Model Runtime Precision Chipset Inference Time (ms) Peak Memory Range (MB) Primary Compute Unit
ESRGAN ONNX float Snapdragon® X2 Elite 34.373 ms 8 - 8 MB NPU
ESRGAN ONNX float Snapdragon® X Elite 65.409 ms 38 - 38 MB NPU
ESRGAN ONNX float Snapdragon® 8 Gen 3 Mobile 49.614 ms 0 - 745 MB NPU
ESRGAN ONNX float Snapdragon® 8 Gen 1 Mobile 148.068 ms 1 - 735 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ QCS8550 (Proxy) 67.114 ms 0 - 43 MB NPU
ESRGAN ONNX float Qualcomm® QCS8450 148.068 ms 1 - 735 MB NPU
ESRGAN ONNX float Snapdragon® 8 Elite Gen 5 Mobile 26.907 ms 5 - 357 MB NPU
ESRGAN ONNX float Snapdragon® 8 Elite Mobile 38.622 ms 8 - 357 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ Q-8750 38.622 ms 8 - 357 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ IQ-X7181 65.409 ms 38 - 38 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ IQ-9075 107.039 ms 7 - 52 MB NPU
ESRGAN ONNX w8a16 Snapdragon® X2 Elite 22.012 ms 4 - 4 MB NPU
ESRGAN ONNX w8a16 Snapdragon® X Elite 43.476 ms 26 - 26 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Gen 3 Mobile 32.056 ms 3 - 1130 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Gen 1 Mobile 84.013 ms 4 - 1214 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ QCS6490 323.426 ms 3 - 6 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 42.546 ms 0 - 32 MB NPU
ESRGAN ONNX w8a16 Qualcomm® QCS8450 84.013 ms 4 - 1214 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 7 Gen 4 Mobile 89.842 ms 3 - 781 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile 16.936 ms 3 - 1090 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ Q-6690 1077.961 ms 0 - 725 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 45.393 ms 3 - 48 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Elite Mobile 26.47 ms 3 - 923 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ Q-7790 89.842 ms 3 - 781 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ Q-8750 26.47 ms 3 - 923 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ IQ-X7181 43.476 ms 26 - 26 MB NPU
ESRGAN QNN_DLC float Snapdragon® X2 Elite 34.365 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Snapdragon® X Elite 64.979 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Gen 3 Mobile 49.483 ms 0 - 706 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Gen 1 Mobile 130.701 ms 0 - 708 MB NPU
ESRGAN QNN_DLC float Qualcomm® QCS8275 452.056 ms 1 - 353 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ QCS8550 (Proxy) 65.392 ms 0 - 2 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8775P 105.496 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8650P 105.496 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8255P 105.496 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® QCS8450 130.701 ms 0 - 708 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Elite Gen 5 Mobile 26.21 ms 0 - 335 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA7255P 452.056 ms 1 - 353 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Elite Mobile 37.79 ms 0 - 335 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8295P 111.355 ms 0 - 359 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ Q-8750 37.79 ms 0 - 335 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ IQ-X7181 64.979 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ IQ-9075 106.612 ms 0 - 5 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® X2 Elite 21.863 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® X Elite 43.234 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Gen 3 Mobile 31.539 ms 0 - 1037 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Gen 1 Mobile 81.224 ms 1 - 1115 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ QCS6490 320.157 ms 2 - 5 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® QCS8275 132.843 ms 1 - 672 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 42.106 ms 0 - 610 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8775P 37.667 ms 0 - 672 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8650P 37.667 ms 0 - 672 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8255P 37.667 ms 0 - 672 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® QCS8450 81.224 ms 1 - 1115 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 7 Gen 4 Mobile 88.736 ms 0 - 697 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Elite Gen 5 Mobile 16.471 ms 0 - 1003 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-6690 1156.873 ms 0 - 635 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ IQ-9075 38.041 ms 2 - 5 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA7255P 132.843 ms 1 - 672 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Elite Mobile 28.069 ms 0 - 843 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8295P 65.063 ms 0 - 717 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-7790 88.736 ms 0 - 697 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-8750 28.069 ms 0 - 843 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ IQ-X7181 43.234 ms 0 - 0 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Gen 3 Mobile 51.37 ms 3 - 747 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Gen 1 Mobile 128.931 ms 3 - 746 MB NPU
ESRGAN TFLITE float Qualcomm® QCS8275 451.996 ms 4 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ QCS8550 (Proxy) 65.104 ms 3 - 433 MB NPU
ESRGAN TFLITE float Qualcomm® SA8775P 105.572 ms 3 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® SA8650P 105.572 ms 3 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® SA8255P 105.572 ms 3 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® QCS8450 128.931 ms 3 - 746 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Elite Gen 5 Mobile 26.204 ms 1 - 364 MB NPU
ESRGAN TFLITE float Qualcomm® SA7255P 451.996 ms 4 - 396 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Elite Mobile 38.455 ms 14 - 377 MB NPU
ESRGAN TFLITE float Qualcomm® SA8295P 111.369 ms 3 - 392 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ Q-8750 38.455 ms 14 - 377 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ IQ-9075 108.259 ms 3 - 46 MB NPU

License

  • The license for the original implementation of ESRGAN can be found here.

References

Community

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for qualcomm/ESRGAN