:twisted_rightwards_arrows: Neural Network (NN) Streamer, Stream Processing Paradigm for Neural Network Apps/Devices.
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)
Toward Among-Device AI from On-Device AI with Stream Pipelines, IEEE/ACM ICSE 2022 SEIP
NNStreamer: Efficient and Agile Development of On-Device AI Systems, IEEE/ACM ICSE 2021 SEIP [media]
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
Tizen | Ubuntu | Android | Yocto | macOS | |
---|---|---|---|---|---|
5.5M2 and later | 9/P | Kirkstone | |||
arm | Available | Available | Ready | N/A | |
arm64 | Available | N/A | |||
x64 | Ready | Ready | Available | ||
x86 | N/A | N/A | Ready | N/A | |
Publish | Tizen Repo | PPA | Daily build | Layer | Brew Tap |
API | C/C# (Official) | C | Java | C | C |
Provide neural network framework connectivities (e.g., tensorflow, caffe) for gstreamer streams.
Provide easy methods to construct media streams with neural network models using the de-facto-standard media stream framework, GStreamer.
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.
For more details, please access the following manuals.
Although a framework may accelerate transparently as Tensorflow-GPU does, nnstreamer provides various hardware acceleration subplugins.
Contributions are welcome! Please see our Contributing Guide for more details.