nnstreamer

:twisted_rightwards_arrows: Neural Network (NN) Streamer, Stream Processing Paradigm for Neural Network Apps/Devices.

Github stars Tracking Chart

NNStreamer

Gitter
Code Coverage



GitHub repo size
GitHub issues
GitHub pull requests

Neural Network Support as Gstreamer Plugins.

NNStreamer is a set of Gstreamer plugins that allow
Gstreamer developers to adopt neural network models easily and efficiently and
neural network developers to manage neural network pipelines and their filters easily and efficiently.

Architectural Description (WIP)

NNStreamer: Stream Processing Paradigm for Neural Networks ... [pdf/tech report]
GStreamer Conference 2018, NNStreamer [media] [pdf/slides]
Naver Tech Talk (Korean), 2018 [media] [pdf/slides]
Samsung Developer Conference 2019, NNStreamer [media]
ResearchGate Page of NNStreamer

Official Releases, Tizen, Ubuntu, Android/NDK Build, Android/APK, Yocto, macOS, :--, --, --, --, --, --, --, 5.5M2 and later, 16.04/18.04, 7.0/N, 7.0/N, TBD, arm, Available, Available, Ready, Available, Ready, N/A, arm64, Available, Available, Ready, Available, Planned, N/A, x64, Available, Available, Ready, Ready, Ready, Available, x86, Available, N/A, N/A, N/A, N/A, N/A, Publish, Tizen Repo, PPA, JCenter, Brew Tap, API, C/C# (Official), C, Java, C, C, - Ready: CI system ensures build-ability and unit-testing. Users may easily build and execute. However, we do not have automated release & deployment system for this instance.

  • Available: binary packages are released and deployed automatically and periodically along with CI tests.
  • Daily Release: (WIP)
  • SDK Support: Tizen Studio (5.5 M2+) / Android Studio (JCenter, "nnstreamer")

Objectives

  • Provide neural network framework connectivities (e.g., tensorflow, caffe) for gstreamer streams.

    • Efficient Streaming for AI Projects: Apply efficient and flexible stream pipeline to neural networks.
    • Intelligent Media Filters!: Use a neural network model as a media filter / converter.
    • Composite Models!: Multiple neural network models in a single stream pipeline instance.
    • Multi Modal Intelligence!: Multiple sources and stream paths for neural network models.
  • Provide easy methods to construct media streams with neural network models using the de-facto-standard media stream framework, GStreamer.

    • Gstreamer users: use neural network models as if they are yet another media filters.
    • Neural network developers: manage media streams easily and efficiently.

Maintainers

Reviewers

Components

Note that this project has just started and many of the components are in design phase.
In Component Description page, we describe nnstreamer components of the following three categories: data type definitions, gstreamer elements (plugins), and other misc components.

Getting Started

For more details, please access the following manuals.

  • For Linux-like systems such as Tizen, Debian, and Ubuntu, press here.
  • For macOS systems, press here.
  • To build an API library for Android, press here.

Usage Examples

CI Server

AI Acceleration Hardware Support

Although a framework may accelerate transparently as Tensorflow-GPU does, nnstreamer provides various hardware acceleration subplugins.

  • Movidius-X via ncsdk2 subplugin: Released
  • Movidius-X via openVINO subplugin: Released
  • Edge-TPU via edgetpu subplugin: Released
  • NNRuntime via nnfw subplugin: Released
  • ARMNN via armnn subplugin: Released
  • Verisilicon-Vivante via vivante subplugin: WIP
  • Qualcomm SNPE: WIP
  • Exynos NPU: WIP

Main metrics

Overview
Name With Ownernnstreamer/nnstreamer
Primary LanguageC++
Program languageShell (Language Count: 12)
Platform
License:GNU Lesser General Public License v2.1
所有者活动
Created At2018-07-23 08:57:11
Pushed At2025-04-08 06:57:41
Last Commit At
Release Count20
Last Release Namev2.4.0 (Posted on 2024-10-25 17:51:09)
First Release Namev0.0.1 (Posted on 2018-07-27 14:40:07)
用户参与
Stargazers Count738
Watchers Count38
Fork Count174
Commits Count4k
Has Issues Enabled
Issues Count1578
Issue Open Count72
Pull Requests Count2976
Pull Requests Open Count15
Pull Requests Close Count132
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private