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
Last synced: 10 months ago · JSON representation ·

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
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License Citation

README.md

ncnn

ncnn

License Download Total Count codecov

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 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-full-source.zip)
- [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 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-android-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-android.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Aandroid)
Android shared [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-android-vulkan-shared.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-android-shared.zip)
- [Build for HarmonyOS with cross-compiling](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-harmonyos-with-cross-compiling)
HarmonyOS [](https://github.com/Tencent/ncnn/actions?query=workflow%3Aharmonyos)
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 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ios-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ios.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Aios)
iOS-Simulator [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ios-simulator-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ios-simulator.zip)
- [Build for macOS](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-macos)
macOS [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-macos-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-macos.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Amacos)
Mac-Catalyst [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-mac-catalyst-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-mac-catalyst.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Amac-catalyst)
watchOS [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-watchos.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Awatchos)
watchOS-Simulator [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-watchos-simulator.zip)
tvOS [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-tvos-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-tvos.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Atvos)
tvOS-Simulator [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-tvos-simulator-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-tvos-simulator.zip)
visionOS [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-visionos.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Avisionos)
visionOS-Simulator [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-visionos-simulator.zip)
Apple xcframework [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-apple-vulkan.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-apple.zip)
- [Build for Linux / NVIDIA Jetson / Raspberry Pi3, Pi4 / POWER](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux)
Ubuntu 20.04 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ubuntu-2004.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ubuntu-2004-shared.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-x64-gpu-gcc)
Ubuntu 22.04 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ubuntu-2204.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-ubuntu-2204-shared.zip)
windows - [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 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2015.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2015-shared.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Awindows)
VS2017 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2017.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2017-shared.zip)
VS2019 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2019.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2019-shared.zip)
VS2022 [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2022.zip) [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-windows-vs2022-shared.zip)
- [Build for WebAssembly](https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-webassembly)
WebAssembly [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240410-webassembly.zip) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Aweb-assembly)
- [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) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-arm-cpu-gcc)
Linux (aarch64) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-aarch64-cpu-gcc)
Linux (mips) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-mips-cpu-gcc)
Linux (mips64) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-mips64-cpu-gcc)
Linux (ppc64) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-ppc64-cpu-gcc)
Linux (riscv64) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-riscv64-cpu-gcc)
Linux (loongarch64) [](https://github.com/Tencent/ncnn/actions?query=workflow%3Alinux-loongarch64-cpu-gcc)

Support most commonly used CNN network

CNN


HowTo

use ncnn with alexnet with detailed steps, recommended for beginners :)

ncnn alexnet :)

use netron for ncnn model visualization

use ncnn with pytorch or onnx

ncnn low-level operation api

ncnn param and model file spec

ncnn operation param weight table

how to implement custom layer step by step


FAQ

ncnn throw error

ncnn produce wrong result

ncnn vulkan


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



License

BSD 3 Clause

Owner

  • Name: deepin Community
  • Login: deepin-community
  • Kind: organization
  • Email: support@deepin.org
  • Location: China

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

.github/workflows/backup-to-gitlab.yml actions
.github/workflows/call-auto-tag.yml actions
.github/workflows/call-build-deb.yml actions
.github/workflows/call-build-tag.yml actions
.github/workflows/call-chatOps.yml actions
pyproject.toml pypi
python/pybind11/docs/requirements.txt pypi
  • 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
python/pybind11/pyproject.toml pypi
python/pybind11/setup.py pypi
python/pybind11/tests/requirements.txt pypi
  • 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
python/pybind11/tools/pyproject.toml pypi
python/requirements.txt pypi
  • numpy *
  • opencv-python *
  • portalocker *
  • requests *
  • tqdm *
setup.py pypi
tools/pnnx/python/requirements.txt pypi
  • torch *
tools/pnnx/python/setup.py pypi