CoolFace
Modelpublic

qualcomm/TrOCR

sourceHugging Facemitupdated 11d agoView on Hugging Face
16likes2.9kdownloads
Model Card

TrOCR: Optimized for Qualcomm Devices

End-to-end text recognition approach with pre-trained image transformer and text transformer models for both image understanding and wordpiece-level text generation.

This is based on the implementation of TrOCR 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.

RuntimePrecisionChipsetSDK VersionsDownload
ONNXfloatUniversalQAIRT 2.45, ONNX Runtime 1.27.1Download
QNN_DLCfloatUniversalQAIRT 2.45Download
TFLITEfloatUniversalQAIRT 2.45Download

For more device-specific assets and performance metrics, visit [TrOCR on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/trocr).

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 TrOCR on GitHub for usage instructions.

Model Details

Model Type: Modelusecase.imagetotext

Model Stats:

  • Input resolution: 320x320
  • Model checkpoint: trocr-small-handwritten
  • Model size (decoder) (float): 146 MB
  • Model size (encoder) (float): 87.8 MB
  • Number of parameters (decoder): 38.3M
  • Number of parameters (encoder): 23.0M

Performance Summary

ModelRuntimePrecisionChipsetInference Time (ms)Peak Memory Range (MB)Primary Compute Unit
decoderONNXfloatSnapdragon® X2 Elite1.245 ms7 - 7 MBNPU
decoderONNXfloatSnapdragon® X Elite2.093 ms68 - 68 MBNPU
decoderONNXfloatSnapdragon® 8 Gen 3 Mobile1.471 ms0 - 284 MBNPU
decoderONNXfloatSnapdragon® 8 Gen 1 Mobile2.738 ms1 - 220 MBNPU
decoderONNXfloatQualcomm® Dragonwing™ IQ-82752.796 ms7 - 17 MBNPU
decoderONNXfloatQualcomm® Dragonwing™ QCS8550 (Proxy)2.124 ms1 - 3 MBNPU
decoderONNXfloatQualcomm® QCS84502.738 ms1 - 220 MBNPU
decoderONNXfloatQualcomm® Dragonwing™ IQ-90752.78 ms7 - 16 MBNPU
decoderONNXfloatQualcomm® Dragonwing™ IQ-X71812.093 ms68 - 68 MBNPU
decoderONNXfloatQualcomm® Dragonwing™ Q-87501.281 ms0 - 192 MBNPU
decoderONNXfloatSnapdragon® 8 Elite Mobile1.281 ms0 - 192 MBNPU
decoderONNXfloatSnapdragon® 8 Elite Gen 5 Mobile1.186 ms1 - 178 MBNPU
decoderQNN_DLCfloatSnapdragon® X2 Elite1.513 ms7 - 7 MBNPU
decoderQNN_DLCfloatSnapdragon® X Elite2.334 ms7 - 7 MBNPU
decoderQNN_DLCfloatSnapdragon® 8 Gen 3 Mobile1.369 ms0 - 274 MBNPU
decoderQNN_DLCfloatSnapdragon® 8 Gen 1 Mobile2.676 ms2 - 218 MBNPU
decoderQNN_DLCfloatQualcomm® Dragonwing™ IQ-82752.634 ms7 - 16 MBNPU
decoderQNN_DLCfloatQualcomm® Dragonwing™ QCS8550 (Proxy)2.027 ms1 - 3 MBNPU
decoderQNN_DLCfloatQualcomm® SA8775P2.892 ms5 - 106 MBNPU
decoderQNN_DLCfloatQualcomm® SA8650P2.892 ms5 - 106 MBNPU
decoderQNN_DLCfloatQualcomm® SA8255P2.892 ms5 - 106 MBNPU
decoderQNN_DLCfloatQualcomm® QCS84502.676 ms2 - 218 MBNPU
decoderQNN_DLCfloatQualcomm® Dragonwing™ IQ-90752.653 ms7 - 15 MBNPU
decoderQNN_DLCfloatQualcomm® Dragonwing™ IQ-X71812.334 ms7 - 7 MBNPU
decoderQNN_DLCfloatQualcomm® Dragonwing™ Q-87501.243 ms0 - 186 MBNPU
decoderQNN_DLCfloatQualcomm® SA7255P4.175 ms5 - 105 MBNPU
decoderQNN_DLCfloatQualcomm® SA8295P2.618 ms0 - 38 MBNPU
decoderQNN_DLCfloatSnapdragon® 8 Elite Mobile1.243 ms0 - 186 MBNPU
decoderQNN_DLCfloatSnapdragon® 8 Elite Gen 5 Mobile1.166 ms1 - 173 MBNPU
decoderTFLITEfloatSnapdragon® 8 Gen 3 Mobile1.378 ms0 - 279 MBNPU
decoderTFLITEfloatSnapdragon® 8 Gen 1 Mobile2.438 ms0 - 218 MBNPU
decoderTFLITEfloatQualcomm® Dragonwing™ IQ-82752.673 ms0 - 84 MBNPU
decoderTFLITEfloatQualcomm® Dragonwing™ QCS8550 (Proxy)1.983 ms0 - 2 MBNPU
decoderTFLITEfloatQualcomm® SA8775P2.84 ms0 - 104 MBNPU
decoderTFLITEfloatQualcomm® SA8650P2.84 ms0 - 104 MBNPU
decoderTFLITEfloatQualcomm® SA8255P2.84 ms0 - 104 MBNPU
decoderTFLITEfloatQualcomm® QCS84502.438 ms0 - 218 MBNPU
decoderTFLITEfloatQualcomm® Dragonwing™ IQ-90752.593 ms0 - 83 MBNPU
decoderTFLITEfloatQualcomm® Dragonwing™ Q-87501.214 ms0 - 189 MBNPU
decoderTFLITEfloatQualcomm® SA7255P4.213 ms0 - 103 MBNPU
decoderTFLITEfloatQualcomm® SA8295P2.668 ms0 - 44 MBNPU
decoderTFLITEfloatSnapdragon® 8 Elite Mobile1.214 ms0 - 189 MBNPU
decoderTFLITEfloatSnapdragon® 8 Elite Gen 5 Mobile1.143 ms0 - 178 MBNPU
encoderONNXfloatSnapdragon® X2 Elite4.565 ms16 - 16 MBNPU
encoderONNXfloatSnapdragon® X Elite11.285 ms48 - 48 MBNPU
encoderONNXfloatSnapdragon® 8 Gen 3 Mobile7.804 ms16 - 216 MBNPU
encoderONNXfloatSnapdragon® 8 Gen 1 Mobile19.697 ms0 - 316 MBNPU
encoderONNXfloatQualcomm® Dragonwing™ IQ-827513.996 ms15 - 20 MBNPU
encoderONNXfloatQualcomm® Dragonwing™ QCS8550 (Proxy)10.875 ms0 - 56 MBNPU
encoderONNXfloatQualcomm® QCS845019.697 ms0 - 316 MBNPU
encoderONNXfloatQualcomm® Dragonwing™ IQ-907513.36 ms15 - 19 MBNPU
encoderONNXfloatQualcomm® Dragonwing™ IQ-X718111.285 ms48 - 48 MBNPU
encoderONNXfloatQualcomm® Dragonwing™ Q-87505.285 ms16 - 140 MBNPU
encoderONNXfloatSnapdragon® 8 Elite Mobile5.285 ms16 - 140 MBNPU
encoderONNXfloatSnapdragon® 8 Elite Gen 5 Mobile4.173 ms2 - 127 MBNPU
encoderQNN_DLCfloatSnapdragon® X2 Elite5.171 ms2 - 2 MBNPU
encoderQNN_DLCfloatSnapdragon® X Elite12.032 ms2 - 2 MBNPU
encoderQNN_DLCfloatSnapdragon® 8 Gen 3 Mobile7.999 ms0 - 190 MBNPU
encoderQNN_DLCfloatSnapdragon® 8 Gen 1 Mobile19.543 ms1 - 308 MBNPU
encoderQNN_DLCfloatQualcomm® Dragonwing™ IQ-827514.139 ms2 - 12 MBNPU
encoderQNN_DLCfloatQualcomm® Dragonwing™ QCS8550 (Proxy)11.316 ms2 - 3 MBNPU
encoderQNN_DLCfloatQualcomm® SA8775P14.024 ms2 - 108 MBNPU
encoderQNN_DLCfloatQualcomm® SA8650P14.024 ms2 - 108 MBNPU
encoderQNN_DLCfloatQualcomm® SA8255P14.024 ms2 - 108 MBNPU
encoderQNN_DLCfloatQualcomm® QCS845019.543 ms1 - 308 MBNPU
encoderQNN_DLCfloatQualcomm® Dragonwing™ IQ-907513.846 ms2 - 12 MBNPU
encoderQNN_DLCfloatQualcomm® Dragonwing™ IQ-X718112.032 ms2 - 2 MBNPU
encoderQNN_DLCfloatQualcomm® Dragonwing™ Q-87505.457 ms2 - 116 MBNPU
encoderQNN_DLCfloatQualcomm® SA7255P37.078 ms2 - 106 MBNPU
encoderQNN_DLCfloatQualcomm® SA8295P19.728 ms2 - 234 MBNPU
encoderQNN_DLCfloatSnapdragon® 8 Elite Mobile5.457 ms2 - 116 MBNPU
encoderQNN_DLCfloatSnapdragon® 8 Elite Gen 5 Mobile4.358 ms2 - 116 MBNPU
encoderTFLITEfloatSnapdragon® 8 Gen 3 Mobile7.712 ms4 - 194 MBNPU
encoderTFLITEfloatSnapdragon® 8 Gen 1 Mobile19.536 ms7 - 312 MBNPU
encoderTFLITEfloatQualcomm® Dragonwing™ IQ-827513.728 ms7 - 67 MBNPU
encoderTFLITEfloatQualcomm® Dragonwing™ QCS8550 (Proxy)10.718 ms7 - 9 MBNPU
encoderTFLITEfloatQualcomm® SA8775P13.479 ms7 - 111 MBNPU
encoderTFLITEfloatQualcomm® SA8650P13.479 ms7 - 111 MBNPU
encoderTFLITEfloatQualcomm® SA8255P13.479 ms7 - 111 MBNPU
encoderTFLITEfloatQualcomm® QCS845019.536 ms7 - 312 MBNPU
encoderTFLITEfloatQualcomm® Dragonwing™ IQ-907513.342 ms6 - 65 MBNPU
encoderTFLITEfloatQualcomm® Dragonwing™ Q-87505.186 ms6 - 111 MBNPU
encoderTFLITEfloatQualcomm® SA7255P36.812 ms7 - 119 MBNPU
encoderTFLITEfloatQualcomm® SA8295P19.064 ms7 - 237 MBNPU
encoderTFLITEfloatSnapdragon® 8 Elite Mobile5.186 ms6 - 111 MBNPU
encoderTFLITEfloatSnapdragon® 8 Elite Gen 5 Mobile4.093 ms0 - 105 MBNPU

License

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

References

Community