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.27.1 Download
ONNX w8a16 Universal QAIRT 2.45, ONNX Runtime 1.27.1 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.263 ms 9 - 9 MB NPU
ESRGAN ONNX float Snapdragon® X Elite 65.491 ms 38 - 38 MB NPU
ESRGAN ONNX float Snapdragon® 8 Gen 3 Mobile 50.456 ms 0 - 745 MB NPU
ESRGAN ONNX float Snapdragon® 8 Gen 1 Mobile 126.988 ms 4 - 739 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ QCS8550 (Proxy) 69.332 ms 7 - 27 MB NPU
ESRGAN ONNX float Qualcomm® QCS8450 126.988 ms 4 - 739 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ IQ-9075 106.674 ms 7 - 10 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ IQ-X7181 65.491 ms 38 - 38 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ Q-8750 37.998 ms 7 - 356 MB NPU
ESRGAN ONNX float Snapdragon® 8 Elite Mobile 37.998 ms 7 - 356 MB NPU
ESRGAN ONNX float Snapdragon® 8 Elite Gen 5 Mobile 27.319 ms 5 - 360 MB NPU
ESRGAN ONNX w8a16 Snapdragon® X2 Elite 21.971 ms 4 - 4 MB NPU
ESRGAN ONNX w8a16 Snapdragon® X Elite 43.486 ms 26 - 26 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Gen 3 Mobile 32.193 ms 3 - 1130 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Gen 1 Mobile 86.206 ms 4 - 1215 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ QCS6490 323.469 ms 4 - 7 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 42.264 ms 0 - 31 MB NPU
ESRGAN ONNX w8a16 Qualcomm® QCS8450 86.206 ms 4 - 1215 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 37.762 ms 3 - 6 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ IQ-X7181 43.486 ms 26 - 26 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ Q-8750 26.581 ms 3 - 924 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Elite Mobile 26.581 ms 3 - 924 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile 16.833 ms 1 - 1088 MB NPU
ESRGAN QNN_DLC float Snapdragon® X2 Elite 34.365 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Snapdragon® X Elite 64.984 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Gen 3 Mobile 50.384 ms 0 - 705 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Gen 1 Mobile 132.45 ms 0 - 711 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ QCS8275 452.066 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ QCS8550 (Proxy) 68.068 ms 0 - 8 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8775P 105.473 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8650P 105.473 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8255P 105.473 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® QCS8450 132.45 ms 0 - 711 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ IQ-9075 106.113 ms 0 - 5 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ IQ-X7181 64.984 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ Q-8750 37.857 ms 0 - 333 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA7255P 452.066 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8295P 111.345 ms 0 - 358 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Elite Mobile 37.857 ms 0 - 333 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Elite Gen 5 Mobile 25.598 ms 0 - 335 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® X2 Elite 21.894 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® X Elite 43.112 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Gen 3 Mobile 31.493 ms 0 - 1036 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Gen 1 Mobile 80.42 ms 0 - 1115 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ QCS6490 320.28 ms 0 - 3 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ QCS8275 132.863 ms 1 - 671 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 42.194 ms 0 - 3 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8775P 37.639 ms 0 - 673 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8650P 37.639 ms 0 - 673 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8255P 37.639 ms 0 - 673 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® QCS8450 80.42 ms 0 - 1115 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ IQ-9075 38.052 ms 2 - 5 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ IQ-X7181 43.112 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-6690 1117.63 ms 0 - 631 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-7790 88.783 ms 2 - 697 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-8750 28.142 ms 0 - 841 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA7255P 132.863 ms 1 - 671 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8295P 65.061 ms 0 - 717 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Elite Mobile 28.142 ms 0 - 841 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Elite Gen 5 Mobile 16.38 ms 0 - 1004 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 7 Gen 4 Mobile 88.783 ms 2 - 697 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Gen 3 Mobile 49.307 ms 0 - 740 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Gen 1 Mobile 133.76 ms 0 - 740 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ QCS8275 452.139 ms 4 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ QCS8550 (Proxy) 67.891 ms 3 - 7 MB NPU
ESRGAN TFLITE float Qualcomm® SA8775P 105.556 ms 3 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® SA8650P 105.556 ms 3 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® SA8255P 105.556 ms 3 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® QCS8450 133.76 ms 0 - 740 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ IQ-9075 105.885 ms 1 - 44 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ Q-8750 37.841 ms 1 - 374 MB NPU
ESRGAN TFLITE float Qualcomm® SA7255P 452.139 ms 4 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® SA8295P 111.402 ms 3 - 392 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Elite Mobile 37.841 ms 1 - 374 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Elite Gen 5 Mobile 25.613 ms 3 - 376 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