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:

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

Performance Summary

Model Runtime Precision Chipset Inference Time (ms) Peak Memory Range (MB) Primary Compute Unit
ESRGAN ONNX float Snapdragon® X2 Elite 34.318 ms 8 - 8 MB NPU
ESRGAN ONNX float Snapdragon® X Elite 65.423 ms 38 - 38 MB NPU
ESRGAN ONNX float Snapdragon® 8 Gen 3 Mobile 51.062 ms 0 - 745 MB NPU
ESRGAN ONNX float Snapdragon® 8 Gen 1 Mobile 118.049 ms 4 - 741 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ IQ-8275 127.563 ms 6 - 10 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ QCS8550 (Proxy) 63.529 ms 0 - 43 MB NPU
ESRGAN ONNX float Qualcomm® QCS8450 118.049 ms 4 - 741 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ IQ-9075 105.926 ms 6 - 9 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ IQ-X7181 65.423 ms 38 - 38 MB NPU
ESRGAN ONNX float Qualcomm® Dragonwing™ Q-8750 38.69 ms 7 - 358 MB NPU
ESRGAN ONNX float Snapdragon® 8 Elite Mobile 38.69 ms 7 - 358 MB NPU
ESRGAN ONNX float Snapdragon® 8 Elite Gen 5 Mobile 26.12 ms 5 - 361 MB NPU
ESRGAN ONNX w8a16 Snapdragon® X2 Elite 21.996 ms 4 - 4 MB NPU
ESRGAN ONNX w8a16 Snapdragon® X Elite 43.397 ms 26 - 26 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Gen 3 Mobile 31.981 ms 3 - 1115 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Gen 1 Mobile 83.95 ms 4 - 1198 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ QCS6490 323.654 ms 4 - 7 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ IQ-8275 43.191 ms 3 - 7 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 41.903 ms 0 - 725 MB NPU
ESRGAN ONNX w8a16 Qualcomm® QCS8450 83.95 ms 4 - 1198 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ IQ-9075 38.006 ms 3 - 6 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ IQ-X7181 43.397 ms 26 - 26 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ Q-6690 1128.366 ms 0 - 696 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ Q-7790 89.102 ms 3 - 784 MB NPU
ESRGAN ONNX w8a16 Qualcomm® Dragonwing™ Q-8750 26.489 ms 3 - 907 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Elite Mobile 26.489 ms 3 - 907 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 8 Elite Gen 5 Mobile 16.934 ms 3 - 1072 MB NPU
ESRGAN ONNX w8a16 Snapdragon® 7 Gen 4 Mobile 89.102 ms 3 - 784 MB NPU
ESRGAN QNN_DLC float Snapdragon® X2 Elite 34.371 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Snapdragon® X Elite 65.02 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Gen 3 Mobile 48.702 ms 0 - 706 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Gen 1 Mobile 112.305 ms 0 - 709 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ IQ-8275 127.079 ms 0 - 6 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ QCS8550 (Proxy) 62.121 ms 0 - 4 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8775P 105.485 ms 1 - 351 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8650P 105.485 ms 1 - 351 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8255P 105.485 ms 1 - 351 MB NPU
ESRGAN QNN_DLC float Qualcomm® QCS8450 112.305 ms 0 - 709 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ IQ-9075 105.513 ms 0 - 5 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ IQ-X7181 65.02 ms 0 - 0 MB NPU
ESRGAN QNN_DLC float Qualcomm® Dragonwing™ Q-8750 37.969 ms 0 - 332 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA7255P 452.028 ms 1 - 352 MB NPU
ESRGAN QNN_DLC float Qualcomm® SA8295P 111.356 ms 0 - 358 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Elite Mobile 37.969 ms 0 - 332 MB NPU
ESRGAN QNN_DLC float Snapdragon® 8 Elite Gen 5 Mobile 25.47 ms 0 - 334 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® X2 Elite 21.845 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® X Elite 43.152 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Gen 3 Mobile 31.436 ms 0 - 1030 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Gen 1 Mobile 89.46 ms 0 - 1114 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ QCS6490 320.624 ms 0 - 3 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ IQ-8275 42.732 ms 0 - 4 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ QCS8550 (Proxy) 41.399 ms 0 - 3 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8775P 37.636 ms 0 - 667 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8650P 37.636 ms 0 - 667 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8255P 37.636 ms 0 - 667 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® QCS8450 89.46 ms 0 - 1114 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ IQ-9075 37.347 ms 0 - 3 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ IQ-X7181 43.152 ms 0 - 0 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-6690 1125.268 ms 0 - 621 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-7790 87.728 ms 2 - 710 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® Dragonwing™ Q-8750 28.284 ms 0 - 837 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA7255P 132.81 ms 0 - 666 MB NPU
ESRGAN QNN_DLC w8a16 Qualcomm® SA8295P 68.189 ms 0 - 713 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Elite Mobile 28.284 ms 0 - 837 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 8 Elite Gen 5 Mobile 16.427 ms 0 - 995 MB NPU
ESRGAN QNN_DLC w8a16 Snapdragon® 7 Gen 4 Mobile 87.728 ms 2 - 710 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Gen 3 Mobile 49.895 ms 3 - 750 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Gen 1 Mobile 114.837 ms 2 - 743 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ IQ-8275 126.871 ms 3 - 46 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ QCS8550 (Proxy) 63.901 ms 3 - 6 MB NPU
ESRGAN TFLITE float Qualcomm® SA8775P 105.574 ms 0 - 391 MB NPU
ESRGAN TFLITE float Qualcomm® SA8650P 105.574 ms 0 - 391 MB NPU
ESRGAN TFLITE float Qualcomm® SA8255P 105.574 ms 0 - 391 MB NPU
ESRGAN TFLITE float Qualcomm® QCS8450 114.837 ms 2 - 743 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ IQ-9075 105.353 ms 3 - 46 MB NPU
ESRGAN TFLITE float Qualcomm® Dragonwing™ Q-8750 37.53 ms 3 - 374 MB NPU
ESRGAN TFLITE float Qualcomm® SA7255P 452.042 ms 4 - 396 MB NPU
ESRGAN TFLITE float Qualcomm® SA8295P 111.359 ms 3 - 392 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Elite Mobile 37.53 ms 3 - 374 MB NPU
ESRGAN TFLITE float Snapdragon® 8 Elite Gen 5 Mobile 25.558 ms 3 - 375 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