Difference between revisions of "NVIDIA Jetson Reference Designs"

From RidgeRun Developer Connection
Jump to: navigation, search
(How to create your own demo application)
(Example Applications Gallery)
Line 8: Line 8:
  
 
= Example Applications Gallery =
 
= Example Applications Gallery =
 +
 +
The application gallery provides the following demo examples:
 +
 +
* DeepStream
 +
 +
* OpenCV
  
 
= How to create your own demo application =
 
= How to create your own demo application =

Revision as of 11:41, 21 October 2020

About NVIDIA Jetson Reference Designs

Jetson AI is a RidgeRun's OpenSource Docker-based project. It is targeted to those looking for an out-of-the-box solution to test the Machine Learning and Artificial Intelligence capabilities of NVIDIA Jetson boards. It offers a portable and easy to use environment that can be executed on any NVIDIA Jetson board. The project includes a set of example applications that exercise ML and AI frameworks such as DeepStream, OpenCV, GStreamer, GstInference, among others.

Each example comes with the source code and they are implemented in different languages and using different frameworks (bash scripts, python, C/C++, GStreamer, etc). You can find the example that is closer to your use case, and use it as a starting point for your demos and exploratory tests. Instructions for creating your own demos are provided so you can easily play around with it.

The project is provided as a Docker image so it is easy to set up in your system and start playing around with the examples in no time. No additional and bothering system setup or package installation is required. The web service interface allows you to run the demos remotely from your cell phone or a desktop computer as well as locally in your Jetson board.

Example Applications Gallery

The application gallery provides the following demo examples:

  • DeepStream
  • OpenCV

How to create your own demo application

You can use Jetson AI to generate your own demo applications and use the provided framework to test them without worrying about the system setup. The easiest way to add a new demo is to use any of the existent examples as a starting point. For this reason, we have provided several demos using different execution flavors such as:

  • Plain bash scripts using GStreamer
  • C/C++ sample applications
  • GStreamer Daemon (GSTD) based C/C++, python, and bash.

And using different frameworks such as OpenCV, GStreamer, DeepStream, CUDA, etc.

You only need to find the application that matches your use case and use it as a reference for your own design.

Example applications are located at: <path to demos>

Every demo is composed of four main components as shown in Figure 1. The arrows show information dependency/use between components.

Error creating thumbnail: Unable to save thumbnail to destination
Figure 1. Demo application layout

Information File: A JSON file containing all the meta-information regarding the demos and how to execute it. The JSON file should look like follows:

{

  "title": "My demo title",
  "category": "Detection",
       "hero": "demo_image.jpg",
  "description" : "This is a demo example",
  "entrypoint" :{
      "cmd": "python3",
      "cmdargs": "examples/demo_directory/web_page.py",
      "redirect": "8004"
}

Title: The title of the demo application - this will be displayed in the main page.

Category: A category for the application

  • Hero: The image displayed in the main page for the demo application
  • Description: A description of the application - this will be displayed in the main page.
  • Entrypoint: This stores the information required to execute the demo application

Display Image: This is just an image file that will be used in the demo gallery as a background image.

Demo Web Page: This is the entry point for the demo page and it is meant to be either loaded when executed from the main page or executed in a standalone fashion. It brings up the basic web interface for the demo and the corresponding controls.

Demo Source Code: This is the core of the demo, it contains the source code for the demo in the corresponding language or framework. It is meant to interface with the demo web page.


Once you found the demo that matches the most your target application, just copy and paste the demo folder into the same directory and rename it accordingly. The final layout should look like follows:


After this, feel free to modify the demo files to properly match your application. The demo will automatically appear in the main web page after reboot.