Video-MAE: Optimized for Qualcomm Devices
Video MAE (Masked Auto Encoder) is a network for doing video classification that uses the ViT (Vision Transformer) backbone.
This is based on the implementation of Video-MAE 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 Video-MAE 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 Video-MAE on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.video_classification
Model Stats:
- Input resolution: 224x224
- Model checkpoint: Kinectics-400
- Model size (float): 335 MB
- Number of parameters: 87.7M
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| Video-MAE | ONNX | float | Snapdragon® X2 Elite | 465.657 ms | 9 - 9 MB | NPU |
| Video-MAE | ONNX | float | Snapdragon® X Elite | 615.161 ms | 188 - 188 MB | NPU |
| Video-MAE | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 399.949 ms | 1 - 1085 MB | NPU |
| Video-MAE | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 1390.512 ms | 11 - 955 MB | NPU |
| Video-MAE | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 558.465 ms | 9 - 22 MB | NPU |
| Video-MAE | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 594.644 ms | 0 - 217 MB | NPU |
| Video-MAE | ONNX | float | Qualcomm® QCS8450 | 1390.512 ms | 11 - 955 MB | NPU |
| Video-MAE | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 560.516 ms | 9 - 21 MB | NPU |
| Video-MAE | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 615.161 ms | 188 - 188 MB | NPU |
| Video-MAE | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 379.001 ms | 1 - 787 MB | NPU |
| Video-MAE | ONNX | float | Snapdragon® 8 Elite Mobile | 379.001 ms | 1 - 787 MB | NPU |
| Video-MAE | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 469.425 ms | 4 - 795 MB | NPU |
| Video-MAE | ONNX | w8a16 | Snapdragon® X2 Elite | 328.077 ms | 5 - 5 MB | NPU |
| Video-MAE | ONNX | w8a16 | Snapdragon® X Elite | 494.636 ms | 100 - 100 MB | NPU |
| Video-MAE | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 371.206 ms | 0 - 1091 MB | NPU |
| Video-MAE | ONNX | w8a16 | Snapdragon® 8 Gen 1 Mobile | 1448.884 ms | 5 - 1156 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS6490 | 2319.296 ms | 0 - 7 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 544.73 ms | 1 - 9 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 487.645 ms | 0 - 111 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® QCS8450 | 1448.884 ms | 5 - 1156 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 487.856 ms | 0 - 7 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 494.636 ms | 100 - 100 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 1079.643 ms | 5 - 1356 MB | NPU |
| Video-MAE | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 290.863 ms | 2 - 875 MB | NPU |
| Video-MAE | ONNX | w8a16 | Snapdragon® 8 Elite Mobile | 290.863 ms | 2 - 875 MB | NPU |
| Video-MAE | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 362.553 ms | 1 - 897 MB | NPU |
| Video-MAE | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 1079.643 ms | 5 - 1356 MB | NPU |
| Video-MAE | QNN_DLC | float | Snapdragon® X2 Elite | 255.624 ms | 9 - 9 MB | NPU |
| Video-MAE | QNN_DLC | float | Snapdragon® X Elite | 470.017 ms | 9 - 9 MB | NPU |
| Video-MAE | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 383.664 ms | 10 - 986 MB | NPU |
| Video-MAE | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 562.401 ms | 9 - 898 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 519.983 ms | 9 - 21 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 456.357 ms | 10 - 12 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® SA8775P | 480.128 ms | 0 - 679 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® SA8650P | 480.128 ms | 0 - 679 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® SA8255P | 480.128 ms | 0 - 679 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® QCS8450 | 562.401 ms | 9 - 898 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 476.202 ms | 9 - 20 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 470.017 ms | 9 - 9 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 266.012 ms | 7 - 684 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® SA7255P | 1125.532 ms | 3 - 680 MB | NPU |
| Video-MAE | QNN_DLC | float | Qualcomm® SA8295P | 616.266 ms | 1 - 651 MB | NPU |
| Video-MAE | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 266.012 ms | 7 - 684 MB | NPU |
| Video-MAE | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 291.16 ms | 9 - 702 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 336.034 ms | 5 - 5 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Snapdragon® X Elite | 518.054 ms | 5 - 5 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 378.224 ms | 5 - 1247 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 519.134 ms | 5 - 12 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 511.946 ms | 5 - 7 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® SA8775P | 514.977 ms | 2 - 798 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® SA8650P | 514.977 ms | 2 - 798 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® SA8255P | 514.977 ms | 2 - 798 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 508.939 ms | 3 - 9 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 518.054 ms | 5 - 5 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 3549.028 ms | 5 - 1342 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 713.062 ms | 5 - 1154 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 292.97 ms | 5 - 782 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Qualcomm® SA7255P | 980.449 ms | 1 - 832 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Snapdragon® 8 Elite Mobile | 292.97 ms | 5 - 782 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 334.391 ms | 5 - 809 MB | NPU |
| Video-MAE | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 713.062 ms | 5 - 1154 MB | NPU |
| Video-MAE | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 124.051 ms | 0 - 977 MB | NPU |
| Video-MAE | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 260.283 ms | 1 - 935 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 184.639 ms | 0 - 208 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 158.207 ms | 0 - 4 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® SA8775P | 181.366 ms | 0 - 709 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® SA8650P | 181.366 ms | 0 - 709 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® SA8255P | 181.366 ms | 0 - 709 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® QCS8450 | 260.283 ms | 1 - 935 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 178.838 ms | 0 - 207 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 91.622 ms | 0 - 688 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® SA7255P | 469.667 ms | 1 - 681 MB | NPU |
| Video-MAE | TFLITE | float | Qualcomm® SA8295P | 239.007 ms | 0 - 649 MB | NPU |
| Video-MAE | TFLITE | float | Snapdragon® 8 Elite Mobile | 91.622 ms | 0 - 688 MB | NPU |
| Video-MAE | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 63.749 ms | 0 - 729 MB | NPU |
License
- The license for the original implementation of Video-MAE can be found here.
References
- Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training
- Source Model Implementation
Community
- Join our AI Hub Slack community to collaborate, post questions and learn more about on-device AI.
- For questions or feedback please reach out to us.
