GitHub - pytorch/QNNPACK: Quantized Neural Network PACKage - mobile-optimized im...
source link: https://github.com/pytorch/QNNPACK
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
QNNPACK
QNNPACK (Quantized Neural Networks PACKage) is a mobile-optimized library for low-precision high-performance neural network inference. QNNPACK provides implementation of convolutional, deconvolutional, and fully connected neural network operators on quantized 8-bit tensors.
QNNPACK is not intended to be directly used by machine learning researchers; instead it provides low-level performance primitives for high-level deep learning frameworks. As of today, QNNPACK is integrated in PyTorch 1.0 with Caffe2 graph representation.
Building
QNNPACK provides standard CMake-based build scripts.
Native compilation
Users are recommended to use scripts/build-local.sh
script to build QNNPACK for the host machine.
Cross-compilation for Android
To cross-compile for Android, set $ANDROID_NDK
environment variable (where $ANDROID_NDK
is the path to Android NDK directorory, e.g. /opt/android-ndk-r15c
) and use one of the scripts from the table below:
ABI
Build script
Restrictions
armeabi-v7a
scripts/build-android-armv7.sh
Requires CPU with ARM NEON
arm64-v8a
scripts/build-android-arm64.sh
x86
scripts/build-android-x86.sh
Notes:
- On armeabi-v7a
qnnp_initialize
will fail withqnnp_status_unsupported_hardware
if the mobile CPU does not support ARM NEON. Don't set-DANDROID_ARM_NEON=1
for QNNPACK compilation as it can makeqnnp_initialize
crash on CPUs without ARM NEON.
Cross-compilation for iOS
To cross-compile for iOS, use ios-cmake to generate Xcode project files.
Acknowledgements
QNNPACK is developed by Marat Dukhan, Yiming Wu, Hao Lu, and Bert Maher. We thank Andrew Tulloch and Yangqing Jia for advice during the development of QNNPACK.
License
QNNPACK is BSD licensed, as found in the LICENSE
file.
Recommend
-
1774
OpenNE: An open source toolkit for Network Embedding This repository provides a standard NE/NRL(Network Representation Learning)training and testing framework. In this framework, we unify the input and output interfaces of different NE m...
-
126
A scikit-learn compatible neural network library that wraps PyTorch. Resources Examples To see more elaborate examples, look
-
34
README.md Word2Bits - Quantized Word Vectors Word2Bits extends the Word2Vec algorithm to output high quality quantized word vectors that take 8x-16x less storage/memory than regular word vector...
-
31
Deep learning has been successfully applied to a variety of tasks. On real-time scenarios such as inference on autonomous vehicles, the inference speed of the model is critical. Network quantization is an effective appro...
-
27
加入极市 专业CV交流群,与 6000+来自腾讯,华为,百度,北大,清华,中科院 等名企名校视觉开发者互动交流!更有机会与 李开复老师 等大牛群内...
-
5
80444 – Add a Setting to expose quantized, rate-limited MemoryInfo values WebKit Bugzilla Bug 80444: Add a Setting to expose quantized, rate-limited MemoryInfo values
-
10
AbstractUsing traditional programming languages such as C++ and CUDA, writing highperformance visual computing code is often laborious and requires deep expertise in performance engineering. This implies an undesirable trade-off betw...
-
3
AbstractHigh-resolution simulations can deliver great visual quality, but they are often limited by available memory, especially on GPUs. We present a compiler for physical simulation that can achieve both high performance and signif...
-
12
README.md
-
11
Overview [Blog] [Paper] [Model Card]
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK