Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: deepin-community
- License: other
- Language: C++
- Default Branch: master
- Size: 21.2 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 4
- Open Issues: 1
- Releases: 3
Metadata Files
README.md

ncnn
ncnn is a high-performance neural network inference computing framework optimized for mobile platforms. ncnn is deeply considerate about deployment and uses on mobile phones from the beginning of design. ncnn does not have third-party dependencies. It is cross-platform and runs faster than all known open-source frameworks on mobile phone cpu. Developers can easily deploy deep learning algorithm models to the mobile platform by using efficient ncnn implementation, creating intelligent APPs, and bringing artificial intelligence to your fingertips. ncnn is currently being used in many Tencent applications, such as QQ, Qzone, WeChat, Pitu, and so on.
ncnn ncnn cpu ncnn APP AI ncnn QQQzone P
|
QQ 637093648 () |
Telegram Group
|
Discord Channel
|
|
Pocky QQ MLIR YES! 677104663 () multi-level intermediate representation |
||
|
pnnx 818998520 () |
Download & Build status
https://github.com/Tencent/ncnn/releases/latest
|
**[how to build ncnn library](https://github.com/Tencent/ncnn/wiki/how-to-build) on Linux / Windows / macOS / Raspberry Pi3, Pi4 / POWER / Android / NVIDIA Jetson / iOS / WebAssembly / AllWinner D1 / Loongson 2K1000** | ||
| Source |
[ |
||
|
- [Build for Android](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-android) - [Build for Termux on Android](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-termux-on-android) | ||
| Android |
[ |
[ |
|
| Android shared |
[ |
||
|
|
- [Build for HarmonyOS with cross-compiling](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-harmonyos-with-cross-compiling) | ||
| HarmonyOS |
[ |
||
| HarmonyOS shared | |||
|
- [Build for iOS on macOS with xcode](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-ios-on-macos-with-xcode) | ||
| iOS |
[ |
[ |
|
| iOS-Simulator |
[ |
||
|
- [Build for macOS](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-macos) | ||
| macOS |
[ |
[ |
|
| Mac-Catalyst |
[ |
[ |
|
| watchOS |
[ |
[ |
|
| watchOS-Simulator |
[ |
||
| tvOS |
[ |
[ |
|
| tvOS-Simulator |
[ |
||
| visionOS |
[ |
[ |
|
| visionOS-Simulator |
[ |
||
| Apple xcframework |
[ |
||
|
- [Build for Linux / NVIDIA Jetson / Raspberry Pi3, Pi4 / POWER](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux) | ||
| Ubuntu 20.04 |
[ |
[ |
|
| Ubuntu 22.04 |
[ |
||
|
- [Build for Windows x64 using VS2017](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-windows-x64-using-visual-studio-community-2017) - [Build for Windows x64 using MinGW-w64](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-windows-x64-using-mingw-w64) | ||
| VS2015 |
[ |
[ |
|
| VS2017 |
[ |
||
| VS2019 |
[ |
||
| VS2022 |
[ |
||
|
- [Build for WebAssembly](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-webassembly) | ||
| WebAssembly |
[ |
[ |
|
|
|
- [Build for ARM Cortex-A family with cross-compiling](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-arm-cortex-a-family-with-cross-compiling) - [Build for Hisilicon platform with cross-compiling](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-hisilicon-platform-with-cross-compiling) - [Build for AllWinner D1](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-allwinner-d1) - [Build for Loongson 2K1000](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-loongson-2k1000) - [Build for QNX](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-qnx) | ||
| Linux (arm) |
[ |
||
| Linux (aarch64) |
[ |
||
| Linux (mips) |
[ |
||
| Linux (mips64) |
[ |
||
| Linux (ppc64) |
[ |
||
| Linux (riscv64) |
[ |
||
| Linux (loongarch64) |
[ |
||
Support most commonly used CNN network
CNN
- Classical CNN: VGG AlexNet GoogleNet Inception ...
- Practical CNN: ResNet DenseNet SENet FPN ...
- Light-weight CNN: SqueezeNet MobileNetV1 MobileNetV2/V3 ShuffleNetV1 ShuffleNetV2 MNasNet ...
- Face Detection: MTCNN RetinaFace scrfd ...
- Detection: VGG-SSD MobileNet-SSD SqueezeNet-SSD MobileNetV2-SSDLite MobileNetV3-SSDLite ...
- Detection: Faster-RCNN R-FCN ...
- Detection: YOLOv2 YOLOv3 MobileNet-YOLOv3 YOLOv4 YOLOv5 YOLOv7 YOLOX ...
- Detection: NanoDet
- Segmentation: FCN PSPNet UNet YOLACT ...
- Pose Estimation: SimplePose ...
HowTo
use ncnn with alexnet with detailed steps, recommended for beginners :)
ncnn alexnet :)
use netron for ncnn model visualization
ncnn param and model file spec
ncnn operation param weight table
how to implement custom layer step by step
FAQ
Features
- Supports convolutional neural networks, supports multiple input and multi-branch structure, can calculate part of the branch
- No third-party library dependencies, does not rely on BLAS / NNPACK or any other computing framework
- Pure C++ implementation, cross-platform, supports Android, iOS and so on
- ARM NEON assembly level of careful optimization, calculation speed is extremely high
- Sophisticated memory management and data structure design, very low memory footprint
- Supports multi-core parallel computing acceleration, ARM big.LITTLE CPU scheduling optimization
- Supports GPU acceleration via the next-generation low-overhead Vulkan API
- Extensible model design, supports 8bit quantization and half-precision floating point storage, can import caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) models
- Support direct memory zero copy reference load network model
- Can be registered with custom layer implementation and extended
- Well, it is strong, not afraid of being stuffed with QvQ
- BLAS/NNPACK
- C++ Android / iOS
- ARM Neon
- ARM big.LITTLE CPU
- Vulkan API GPU
- 8bit caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir)
- QvQ
supported platform matrix
- = known work and runs fast with good optimization
- = known work, but speed may not be fast enough
- = shall work, not confirmed
- / = not applied
| | Windows | Linux | Android | macOS | iOS | | ---------- | ------- | ----- | ------- | ----- | --- | | intel-cpu | | | | | / | | intel-gpu | | | | | / | | amd-cpu | | | | | / | | amd-gpu | | | | | / | | nvidia-gpu | | | | | / | | qcom-cpu | | | | / | / | | qcom-gpu | | | | / | / | | arm-cpu | | | | / | / | | arm-gpu | | | | / | / | | apple-cpu | / | / | / | | | | apple-gpu | / | / | / | | | | ibm-cpu | / | | / | / | / |
Project examples
- https://github.com/nihui/ncnn-android-squeezenet
- https://github.com/nihui/ncnn-android-styletransfer
- https://github.com/nihui/ncnn-android-mobilenetssd
- https://github.com/moli232777144/mtcnn_ncnn
- https://github.com/nihui/ncnn-android-yolov5
- https://github.com/xiang-wuu/ncnn-android-yolov7
- https://github.com/nihui/ncnn-android-scrfd
- https://github.com/shaoshengsong/qt_android_ncnn_lib_encrypt_example






https://github.com/mizu-bai/ncnn-fortran Call ncnn from Fortran
https://github.com/k2-fsa/sherpa Use ncnn for real-time speech recognition (i.e., speech-to-text); also support embedded devices and provide mobile Apps (e.g., Android App)
License
Owner
- Name: deepin Community
- Login: deepin-community
- Kind: organization
- Email: support@deepin.org
- Location: China
- Website: https://www.deepin.org/
- Repositories: 8,091
- Profile: https://github.com/deepin-community
Welcome to the deepin community.
Citation (CITATION.cff)
cff-version: 1.2.0
title: ncnn
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- family-names: "Ni"
given-names: "Hui"
- name: "The ncnn contributors"
abstract: >-
ncnn is a high-performance neural network inference
computing framework optimized for mobile platforms.
date-released: 2017-06-30
keywords:
- "neural network"
- "artificial intelligence"
- "deep learning"
- android
- ios
- windows
- linux
- macos
- pnnx
- simd
- vulkan
- riscv
- x86
- arm
- mips
- loongarch
license: BSD-3-Clause
repository-code: "https://github.com/Tencent/ncnn"
GitHub Events
Total
- Delete event: 9
- Issue comment event: 33
- Push event: 2
- Pull request review event: 1
- Pull request event: 20
- Fork event: 1
- Create event: 9
Last Year
- Delete event: 9
- Issue comment event: 33
- Push event: 2
- Pull request review event: 1
- Pull request event: 20
- Fork event: 1
- Create event: 9
Dependencies
- breathe ==4.34.0
- furo ==2022.6.21
- sphinx ==5.0.2
- sphinx-copybutton ==0.5.0
- sphinxcontrib-moderncmakedomain ==3.21.4
- sphinxcontrib-svg2pdfconverter ==1.2.0
- build ==0.8.0 test
- numpy ==1.21.5 test
- numpy ==1.19.3 test
- numpy ==1.22.2 test
- pytest ==7.0.0 test
- pytest-timeout * test
- scipy ==1.5.4 test
- scipy ==1.8.0 test
- numpy *
- opencv-python *
- portalocker *
- requests *
- tqdm *
- torch *
