The DL Streamer Pipeline Zoo is a catalog of optimized media and media analytics pipelines.

Overview

Intel(R) Deep Learning Streamer Pipeline Zoo

| Getting Started | Tasks and Pipelines | Measurement Definitions | Core Examples | Xeon Examples | Pick and Go Use Case | Advanced Examples | Pipebench Reference | Measurement Output |

The DL Streamer Pipeline Zoo is a catalog of media and media analytics pipelines optimized for Intel hardware. It includes tools for downloading pipelines and their dependencies and tools for measuring their performace.

Pipelines are organized according to the task they perform (what types of input they accept and what types of output they generate). Tasks and pipelines are defined in a platform and framework independent way to allow implementations in a variety of frameworks and for multiple platform targets.

diagram

Features Include:

Simple command line interface A single entrypoint for downloading and running media analytics pipelines along with media and model dependencies
DL Streamer Pipeline Runner Pipeline implementations and optimizations using the DL Streamer Pipeline Framework
Platform specific settings Pipeline runner settings tuned for optimal performance on different platform types (e.g. core, xeon)
Measurement Settings Settings for measuring different scenarios including single stream throughput and stream density. Settings can be customized and saved for reuse.
Containerized environment Dockerfiles, build and run scripts for launching a reproducable environment

IMPORTANT:

The DL Streamer Pipeline Zoo is provided as a set of tools for system evaluation and benchmarking and is not intended for deployment into production environments without modification.

The project is pre-production and under active development. Please expect breaking changes and use tagged versions for stable functionality.

Getting Started

Prerequisites

Docker The Pipeline Zoo requires Docker for it's build, development, and runtime environments. Please install the latest version for your platform.
bash The Pipeline Zoo build and run scripts require bash and have been tested on systems using versions greater than or equal to: GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu).

Installation

  1. Clone Repository
    git clone https://github.com/dlstreamer/pipeline-zoo.git pipeline-zoo
    
  2. Build Pipeline Zoo Environment
    ./pipeline-zoo/tools/docker/build.sh 
    
    Output:
    Successfully built 113352079483
    Successfully tagged media-analytics-pipeline-zoo-bench:latest
    
  3. Launch Pipeline Zoo
    ./pipeline-zoo/tools/docker/run.sh 
    

Pipline Zoo Commands

List Pipelines

Command:

pipebench list

Output:

+--------------------------------------------+-----------------------+----------------------------+------------+
| Pipeline                                   | Task                  | Models                     | Runners    |
+============================================+=======================+============================+============+
| decode-h265                                | decode-vpp            |                            | dlstreamer |
|                                            |                       |                            | mockrun    |
+--------------------------------------------+-----------------------+----------------------------+------------+
| decode-h264-bgra                           | decode-vpp            |                            | dlstreamer |
|                                            |                       |                            | mockrun    |
+--------------------------------------------+-----------------------+----------------------------+------------+
| od-h265-ssd-mobilenet-v1-coco              | object-detection      | ssd_mobilenet_v1_coco_INT8 | dlstreamer |
+--------------------------------------------+-----------------------+----------------------------+------------+
| od-h264-ssd-mobilenet-v1-coco              | object-detection      | ssd_mobilenet_v1_coco      | dlstreamer |
|                                            |                       |                            | mockrun    |
+--------------------------------------------+-----------------------+----------------------------+------------+
| oc-h265-full_frame-resnet-50-tf            | object-classification | full_frame                 | dlstreamer |
|                                            |                       | resnet-50-tf               | mockrun    |
+--------------------------------------------+-----------------------+----------------------------+------------+
| oc-h264-full_frame-resnet-50-tf            | object-classification | full_frame                 | dlstreamer |
|                                            |                       | resnet-50-tf               | mockrun    |
+--------------------------------------------+-----------------------+----------------------------+------------+
| oc-h264-ssd-mobilenet-v1-coco-resnet-50-tf | object-classification | ssd_mobilenet_v1_coco      | dlstreamer |
|                                            |                       | resnet-50-tf               | mockrun    |
+--------------------------------------------+-----------------------+----------------------------+------------+
| oc-h265-ssd-mobilenet-v1-coco-resnet-50-tf | object-classification | ssd_mobilenet_v1_coco      | dlstreamer |
|                                            |                       | resnet-50-tf               | mockrun    |
+--------------------------------------------+-----------------------+----------------------------+------------+

Download Pipeline

Command:

pipebench download od-h264-ssd-mobilenet-v1-coco

Example Output Tree:

- pipeline-zoo/
+ doc/
+ media/
+ models/
+ pipelines/
+ runners/
+ tools/
- workspace/
 - od-h264-ssd-mobilenet-v1-coco/
   - media/
     - video/
       + Pexels-Videos-1388365/
       + person-bicycle-car-detection/
   - models/
     - ssd_mobilenet_v1_coco/
       + FP16/
       + FP32/
       + ssd_mobilenet_v1_coco_2018_01_28/
     - ssd_mobilenet_v1_coco_INT8/
       + FP16-INT8/
   - runners/
     + dlstreamer/
     + mockrun/
   README.md
   dlstreamer.core.runner-settings.yml
   dlstreamer.density.core.runner-settings.yml
   dlstreamer.density.dgpu.runner-settings.yml
   dlstreamer.density.runner-settings.yml
   dlstreamer.density.xeon.runner-settings.yml
   dlstreamer.dgpu.runner-settings.yml
   dlstreamer.runner-settings.yml
   dlstreamer.xeon.runner-settings.yml
   media.list.yml
   mockrun.runner-settings.yml
   models.list.yml
   od-h264-ssd-mobilenet-v1-coco.pipeline.yml

Measure Single Stream Throughput

Command:

pipebench run od-h264-ssd-mobilenet-v1-coco

Example Output:

 Pipeline:
	od-h264-ssd-mobilenet-v1-coco

 Runner:
	dlstreamer
 	dlstreamer.runner-settings.yml

 Media:
	video/person-bicycle-car-detection

 Measurement:
	throughput
 	throughput.measurement-settings.yml

 Output Directory:
	/home/pipeline-zoo/workspace/od-h264-ssd-mobilenet-v1-coco/measurements/throughput/dlstreamer/run-0000

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0000      0000       0001     0.0000    0.0000    0.0000     0.0000
======================================================================== 

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0000      0001       0001   130.3469  130.3469  130.3469   130.3469
======================================================================== 

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0000      0001       0001   128.9403  128.9403  128.9403   128.9403
======================================================================== 

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0000      0001       0001   129.5578  129.5578  129.5578   129.5578
======================================================================== 

...

   
    
...

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0000      0001       0001   126.2640  126.2640  126.2640   126.2640
======================================================================== 

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0000      0001       0001   125.8236  125.8236  125.8236   125.8236
======================================================================== 

Pipeline                       Runner      Streams: 1
-----------------------------  ----------  ---------------------------------------------------------
od-h264-ssd-mobilenet-v1-coco  dlstreamer  Min: 125.8236 Max: 125.8236 Avg: 125.8236 Total: 125.8236


   

Measure Stream Density

Command:

 pipebench run --measure density od-h264-ssd-mobilenet-v1-coco

Example Output:

 Pipeline:
	od-h264-ssd-mobilenet-v1-coco

 Runner:
	dlstreamer
 	dlstreamer.density.runner-settings.yml

 Media:
	video/person-bicycle-car-detection

 Measurement:
	density
 	density.measurement-settings.yml

 Output Directory:
	/home/pipeline-zoo/workspace/od-h264-ssd-mobilenet-v1-coco/measurements/density/dlstreamer/run-0000

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
      PRE      0001       0001   121.7170  121.7170  121.7170   121.7170
======================================================================== 

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
      PRE      0001       0001   128.3342  128.3342  128.3342   128.3342
======================================================================== 

...

   
    
...

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0001      0003       0003    30.0000   30.0038   30.0110    90.0115
======================================================================== 

========================================================================
Iteration   Streams  Processes    Minimum   Average   Maximum      Total
========================================================================
     0001      0003       0003    29.9868   29.9959   30.0115    89.9878
======================================================================== 

Pipeline                       Runner      Streams: 4                                              Streams: 3
-----------------------------  ----------  ------------------------------------------------------  -----------------------------------------------------
od-h264-ssd-mobilenet-v1-coco  dlstreamer  Min: 28.4167 Max: 28.5507 Avg: 28.4844 Total: 113.9374  Min: 29.9868 Max: 30.0115 Avg: 29.9959 Total: 89.9878


   
You might also like...
A machine learning library for spiking neural networks. Supports training with both torch and jax pipelines, and deployment to neuromorphic hardware.
A machine learning library for spiking neural networks. Supports training with both torch and jax pipelines, and deployment to neuromorphic hardware.

Rockpool Rockpool is a Python package for developing signal processing applications with spiking neural networks. Rockpool allows you to build network

MACE is a deep learning inference framework optimized for mobile heterogeneous computing platforms.
MACE is a deep learning inference framework optimized for mobile heterogeneous computing platforms.

Documentation | FAQ | Release Notes | Roadmap | MACE Model Zoo | Demo | Join Us | 中文 Mobile AI Compute Engine (or MACE for short) is a deep learning i

Code for the paper: Adversarial Training Against Location-Optimized Adversarial Patches. ECCV-W 2020.

Adversarial Training Against Location-Optimized Adversarial Patches arXiv | Paper | Code | Video | Slides Code for the paper: Sukrut Rao, David Stutz,

Official Pytorch implementation of 'GOCor: Bringing Globally Optimized Correspondence Volumes into Your Neural Network' (NeurIPS 2020)
Official Pytorch implementation of 'GOCor: Bringing Globally Optimized Correspondence Volumes into Your Neural Network' (NeurIPS 2020)

Official implementation of GOCor This is the official implementation of our paper : GOCor: Bringing Globally Optimized Correspondence Volumes into You

Use AI to generate a optimized stock portfolio
Use AI to generate a optimized stock portfolio

Use AI, Modern Portfolio Theory, and Monte Carlo simulation's to generate a optimized stock portfolio that minimizes risk while maximizing returns. Ho

In-Place Activated BatchNorm for Memory-Optimized Training of DNNs
In-Place Activated BatchNorm for Memory-Optimized Training of DNNs

In-Place Activated BatchNorm In-Place Activated BatchNorm for Memory-Optimized Training of DNNs In-Place Activated BatchNorm (InPlace-ABN) is a novel

Optimized code based on M2 for faster image captioning training

Transformer Captioning This repository contains the code for Transformer-based image captioning. Based on meshed-memory-transformer, we further optimi

Supervised Contrastive Learning for Downstream Optimized Sequence Representations
Supervised Contrastive Learning for Downstream Optimized Sequence Representations

SupCL-Seq 📖 Supervised Contrastive Learning for Downstream Optimized Sequence representations (SupCS-Seq) accepted to be published in EMNLP 2021, ext

Tutel MoE: An Optimized Mixture-of-Experts Implementation

Project Tutel Tutel MoE: An Optimized Mixture-of-Experts Implementation. Supported Framework: Pytorch Supported GPUs: CUDA(fp32 + fp16), ROCm(fp32) Ho

Comments
  • Bump protobuf from 3.19.4 to 3.19.5 in /tools/pipebench

    Bump protobuf from 3.19.4 to 3.19.5 in /tools/pipebench

    Bumps protobuf from 3.19.4 to 3.19.5.

    Release notes

    Sourced from protobuf's releases.

    Protocol Buffers v3.19.5

    C++

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v0.0.7)
  • v0.0.7(Jul 15, 2022)

    Intel® Deep Learning Streamer (Intel® DL Streamer) Pipeline Zoo

    The Intel® DL Streamer Pipeline Zoo is a catalog of media and media analytics pipelines optimized for Intel® hardware. It includes tools for downloading pipelines and their dependencies and tools for measuring their performance.

    Pipelines are organized according to the task they perform (what types of input they accept and what types of output they generate). Tasks and pipelines are defined in a platform and framework independent way to allow implementations in a variety of frameworks and for multiple platform targets.

    IMPORTANT:

    The Intel® DL Streamer Pipeline Zoo is provided as a set of tools for system evaluation and benchmarking and is not intended for deployment into production environments without modification.

    The project is pre-production and under active development. Please expect breaking changes and use tagged versions for stable functionality.

    For the details of supported platforms, please refer to System Requirements section.

    New in this Release

    | Title | High-level description | |----------------|---------------------------------| | Alignment with Intel® DL Streamer Pipeline Framework 2022.1 | Pipeline Zoo now uses the 2022.1 image of Intel® DL Streamer Pipeline Framework as its base image | | Compatibility with OpenVINO™ Toolkit 2022.1 | Pipeline Zoo has been updated to use the 2022.1 version of the OpenVINO™ Toolkit | | New models added | New object detection and object classification pipelines were added. These are based on the following models:

      * yolov4
      * efficient-b0
      * ssdlite-mobilenet-v2
    | | Platform support updates | Pipeline Zoo has added full support for Alder Lake and Tiger Lake platforms | | Improved Benchmarking | Time to compute stream density on high density cores was significantly reduced |

    Changed in this Release

    • Naming aligned with Intel® DL Streamer product version

    Full Changelog: https://github.com/dlstreamer/pipeline-zoo/compare/v0.0.6...v0.0.7

    System Requirements

    Please refer to Intel® DL Streamer documentation.

    Legal Information

    No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

    Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

    This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.

    The products and services described may contain defects or errors which may cause deviations from published specifications. Current characterized errata are available on request.

    Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.

    *Other names and brands may be claimed as the property of others.

    © 2022 Intel Corporation.

    Source code(tar.gz)
    Source code(zip)
  • v0.0.6(Jan 25, 2022)

    Intel(R) Deep Learning Streamer Pipeline Zoo

    The DL Streamer Pipeline Zoo is a catalog of media and media analytics pipelines optimized for Intel hardware. It includes tools for downloading pipelines and their dependencies and tools for measuring their performace.

    Pipelines are organized according to the task they perform (what types of input they accept and what types of output they generate). Tasks and pipelines are defined in a platform and framework independent way to allow implementations in a variety of frameworks and for multiple platform targets.

    IMPORTANT:

    The DL Streamer Pipeline Zoo is provided as a set of tools for system evaluation and benchmarking and is not intended for deployment into production environments without modification.

    The project is pre-production and under active development. Please expect breaking changes and use tagged versions for stable functionality.

    Features Include:

      |   -- | -- Simple command line interface | A single entrypoint for downloading and running media analytics pipelines along with media and model dependencies DL Streamer Pipeline Runner | Pipeline implementations and optimizations using the DL Streamer Pipeline Framework Platform specific settings | Pipeline runner settings tuned for optimal performance on different platform types (e.g. core, xeon) Measurement Settings | Settings for measuring different scenarios including single stream throughput and stream density. Settings can be customized and saved for reuse. Containerized environment | Dockerfiles, build and run scripts for launching a reproducable environment

    Release v0.0.6

    This release contains minor bug fixes and enhancements:

    • duration expands number of frames in media beyond 60 seconds if given (calculated at 30 fps)
    • added dog_bark media for object classification

    What's Changed

    • Public staging by @nnshah1 in https://github.com/dlstreamer/pipeline-zoo/pull/1

    New Contributors

    • @nnshah1 made their first contribution in https://github.com/dlstreamer/pipeline-zoo/pull/1

    Full Changelog: https://github.com/dlstreamer/pipeline-zoo/compare/v0.0.5...v0.0.6

    Source code(tar.gz)
    Source code(zip)
  • v0.0.5(Dec 24, 2021)

    Intel(R) Deep Learning Streamer Pipeline Zoo

    The DL Streamer Pipeline Zoo is a catalog of media and media analytics pipelines optimized for Intel hardware. It includes tools for downloading pipelines and their dependencies and tools for measuring their performace.

    Pipelines are organized according to the task they perform (what types of input they accept and what types of output they generate). Tasks and pipelines are defined in a platform and framework independent way to allow implementations in a variety of frameworks and for multiple platform targets.

    IMPORTANT:

    The DL Streamer Pipeline Zoo is provided as a set of tools for system evaluation and benchmarking and is not intended for deployment into production environments without modification.

    The project is pre-production and under active development. Please expect breaking changes and use tagged versions for stable functionality.

    Features Include:

      |   -- | -- Simple command line interface | A single entrypoint for downloading and running media analytics pipelines along with media and model dependencies DL Streamer Pipeline Runner | Pipeline implementations and optimizations using the DL Streamer Pipeline Framework Platform specific settings | Pipeline runner settings tuned for optimal performance on different platform types (e.g. core, xeon) Measurement Settings | Settings for measuring different scenarios including single stream throughput and stream density. Settings can be customized and saved for reuse. Containerized environment | Dockerfiles, build and run scripts for launching a reproducable environment

    Initial Preview Release (v0.0.5)

    The initial release contains support for the following tasks and pipelines using a DL Streamer Pipeline Runner:

    • Object Detection
      • od-h264-ssd-mobilenet-v1-coco
      • od-h265-ssd-mobilenet-v1-coco
    • Object Classification
      • oc-h264-full-frame-resnet-50-tf
      • oc-h265-full-frame-resnet-50-tf
      • oc-h264-ssd-mobilenet-v1-coco-resnet-50-tf -oc-h265-ssd-mobilenet-v1-coco-resnet-50-tf
    • Decode VPP
      • decode-h265
      • decode-h264-bgra

    And provides settings tuned for performance on:

    • Xeon: Intel(R) Xeon(R) Gold 6336Y CPU @ 2.40GHz.
    • Core: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GH
    Source code(tar.gz)
    Source code(zip)
Owner
null
The Hailo Model Zoo includes pre-trained models and a full building and evaluation environment

Hailo Model Zoo The Hailo Model Zoo provides pre-trained models for high-performance deep learning applications. Using the Hailo Model Zoo you can mea

Hailo 50 Dec 7, 2022
Classification models 1D Zoo - Keras and TF.Keras

Classification models 1D Zoo - Keras and TF.Keras This repository contains 1D variants of popular CNN models for classification like ResNets, DenseNet

Roman Solovyev 12 Jan 6, 2023
A PaddlePaddle version image model zoo.

Paddle-Image-Models English | 简体中文 A PaddlePaddle version image model zoo. Install Package Install by pip: $ pip install ppim Install by wheel package

AgentMaker 131 Dec 7, 2022
Model Zoo for AI Model Efficiency Toolkit

We provide a collection of popular neural network models and compare their floating point and quantized performance.

Qualcomm Innovation Center 137 Jan 3, 2023
Transfer Learning Shootout for PyTorch's model zoo (torchvision)

pytorch-retraining Transfer Learning shootout for PyTorch's model zoo (torchvision). Load any pretrained model with custom final layer (num_classes) f

Alexander Hirner 169 Jun 29, 2022
Model Zoo of BDD100K Dataset

Model Zoo of BDD100K Dataset

ETH VIS Group 200 Dec 27, 2022
TensorFlow2 Classification Model Zoo playing with TensorFlow2 on the CIFAR-10 dataset.

Training CIFAR-10 with TensorFlow2(TF2) TensorFlow2 Classification Model Zoo. I'm playing with TensorFlow2 on the CIFAR-10 dataset. Architectures LeNe

Chia-Hung Yuan 16 Sep 27, 2022
Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk

Annoy Annoy (Approximate Nearest Neighbors Oh Yeah) is a C++ library with Python bindings to search for points in space that are close to a given quer

Spotify 10.6k Jan 4, 2023
Developed an optimized algorithm which finds the most optimal path between 2 points in a 3D Maze using various AI search techniques like BFS, DFS, UCS, Greedy BFS and A*

Developed an optimized algorithm which finds the most optimal path between 2 points in a 3D Maze using various AI search techniques like BFS, DFS, UCS, Greedy BFS and A*. The algorithm was extremely optimal running in ~15s to ~30s for search spaces as big as 10000000 nodes where a set of 18 actions could be performed at each node in the 3D Maze.

null 1 Mar 28, 2022
Unified Interface for Constructing and Managing Workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.

Couler What is Couler? Couler aims to provide a unified interface for constructing and managing workflows on different workflow engines, such as Argo

Couler Project 781 Jan 3, 2023