Difference between revisions of "Edge AI SDK/AI Framework/Qualcomm"

From ESS-WIKI
Jump to: navigation, search
(Edge AI SDK / Application)
 
(30 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
<span style="font-size:larger;">[https://www.qualcomm.com/developer/software/neural-processing-sdk-for-ai AI Software Suite] offers breakthrough AI accelerators and Vision processors uniquely designed to accelerate embedded deep learning applications on edge devices.</span>
 
<span style="font-size:larger;">[https://www.qualcomm.com/developer/software/neural-processing-sdk-for-ai AI Software Suite] offers breakthrough AI accelerators and Vision processors uniquely designed to accelerate embedded deep learning applications on edge devices.</span>
  
<span style="font-size:larger;">Qualcomm devices are accompanied by a comprehensive AI SDK that enables the compilation of deep learning models and the implementation of AI applications in production environments. The model build environment seamlessly integrates with common ML frameworks to allow smooth and easy integration in existing development ecosystems. The runtime environment enables integration and deployment in host processors, such as   ARM based products, when utilizing QCS6490 vision processor.</span>
+
<span style="font-size:larger;">Qualcomm devices are accompanied by a comprehensive AI SDK that enables the compilation of deep learning models and the implementation of AI applications in production environments. The model build environment seamlessly integrates with common ML frameworks to allow smooth and easy integration in existing development ecosystems. The runtime environment enables integration and deployment in host processors, such as ARM based products, when utilizing QCS6490 vision processor.</span>
  
 
&nbsp;
 
&nbsp;
Line 10: Line 10:
 
&nbsp;
 
&nbsp;
  
= Applications =
+
= SNPE =
  
 
<span style="font-size:larger;">[https://www.qualcomm.com/developer/software/neural-processing-sdk-for-ai SNPE] is a SDK designed to streamline the development and deployment of edge applications demanding high AI performance. This reference application software package empowers users to expedite their time-to-market by minimizing the development workload. SNPE encompasses a user-friendly set of fully operational application examples based on GStreamer, featuring pipeline elements and pre-trained AI tasks. These examples leverage advanced Deep Neural Networks, highlighting Qualcomm's AI processors' top-notch throughput and power efficiency. Furthermore, SNPE serves as a demonstration of Qualcomm's system integration capabilities, showcasing specific use cases on predefined software and hardware platforms. Utilizing SNPE simplifies integration with Qualcomm's runtime software stack and offers a starting point for users to fine-tune their applications. By demonstrating Qualcomm's system integration scenarios on both predefined software and hardware platforms, it can be used for evaluations, reference code, and demos. This approach effectively accelerates time to market, streamlines integration with Qualcomm's runtime software stack, and provides customers with a foundation to fine-tune their applications.</span>
 
<span style="font-size:larger;">[https://www.qualcomm.com/developer/software/neural-processing-sdk-for-ai SNPE] is a SDK designed to streamline the development and deployment of edge applications demanding high AI performance. This reference application software package empowers users to expedite their time-to-market by minimizing the development workload. SNPE encompasses a user-friendly set of fully operational application examples based on GStreamer, featuring pipeline elements and pre-trained AI tasks. These examples leverage advanced Deep Neural Networks, highlighting Qualcomm's AI processors' top-notch throughput and power efficiency. Furthermore, SNPE serves as a demonstration of Qualcomm's system integration capabilities, showcasing specific use cases on predefined software and hardware platforms. Utilizing SNPE simplifies integration with Qualcomm's runtime software stack and offers a starting point for users to fine-tune their applications. By demonstrating Qualcomm's system integration scenarios on both predefined software and hardware platforms, it can be used for evaluations, reference code, and demos. This approach effectively accelerates time to market, streamlines integration with Qualcomm's runtime software stack, and provides customers with a foundation to fine-tune their applications.</span>
  
 
 
&nbsp;
 
&nbsp;
  
&nbsp;
+
= <span style="font-size:larger;">Application</span> =
  
== <span style="font-size:larger;">Edge AI SDK&nbsp;/ Application</span> ==
+
<span style="font-size:larger;">To Start EdgeAISDK</span>
  
<span style="font-size:larger;">Quick Start / Application / Video or WebCam / DSP </span>
+
<span>Step 1&nbsp;: open terminal</span>
  
<span style="font-size:larger;">[[File:QCS6490-VisionAI_GUI.png|800px]]</span>  
+
<span>Step 2&nbsp;: execute script&nbsp;: /opt/Advantech/EdgeAISuite/MainAPP/QCS6490/app.sh</span>
  
<span style="font-size:larger;">[[File:QCS6490-Object-Detect-1.png|800px]]</span>
+
[[File:Qualcomm terminal app.png|800px|Qualcomm terminal app.png]]
  
<span style="font-size:larger;">&nbsp;</span>
+
<span style="font-size:larger;">Quick Start / Application / Video or WebCam / DSP</span>
  
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
Line 44: Line 43:
 
|}
 
|}
  
= <span style="font-size:larger;">Benchmark</span> =
+
<span>Step 1&nbsp;: Go to the " Quick start VisionAI" page as show below</span>
  
<span style="font-size:larger;"><span style="font-size:larger;">In order to measure FPS, power and latency of the Hailo Model Zoo networks you can use the HailoRT command line interface. For more information please refer to the HailoRT documentation in [https://github.com/hailo-ai/hailo_model_zoo/blob/master/docs/BENCHMARKS.rst link].</span></span>
+
<span>Step 2&nbsp;: Choose one application</span>
  
<span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span>
+
<span style="font-size:larger;">[[File:QCS6490-VisionAI GUI.png|800px|QCS6490-VisionAI GUI.png]]</span>
  
<span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span>
+
<span style="font-size:larger;">[[File:QCS6490-Object-Detect-1.png|800px|QCS6490-Object-Detect-1.png]]</span>
  
 +
<span style="font-size:larger;">Close AI Inference Application</span>
  
== <span style="font-size:larger;"><span style="font-size:larger;">Hailo-8 Benchmark</span></span> ==
+
<span>Step 1&nbsp;: EdgeAISDK (GUI) show in the top</span>
  
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">hailortcli benchmark <Hailo's Model .hef ></span></span></span>
+
<span>Step 2&nbsp;: Press Key "Esc"</span>
<pre>hailortcli benchmark resnet_v1_18.hef</pre>
 
  
<span style="font-size:larger;"><span style="font-size:larger;">[[File:Hailortcli benchmark.png|800x450px|benchmark]]</span></span>
+
[[File:Qualcomm Inference exit gui.png|800px|Qualcomm Inference exit gui.png]]
  
<span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span>
+
= <span style="font-size:larger;">Benchmark</span> =
  
<span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span>
+
<span style="font-size:larger;"><span style="font-size:larger;">It can quickly evaluate computing performance for the DSP, and provides runtime results inferenced with ML.</span></span>
  
== <span style="font-size:larger;"><span style="font-size:larger;">Edge AI SDK&nbsp;/ Benchmark</span></span> ==
+
[[File:QCS6490-Benchmark-GUI.png|800px|QCS6490-Benchmark-GUI.png]]
  
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">Evaluate the Hailo-8&nbsp;performance&nbsp;with Edge AI SDK.</span></span></span>
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| style="width: 200px;" | <span style="font-size:larger;">Device</span>
 +
| style="width: 600px;" | <span style="font-size:larger;">Command</span>
 +
| style="width: 200px;" | <span style="font-size:larger;">FPS</span>
 +
|-
 +
| style="width: 200px;" | <span style="font-size:larger;">Run on DSP</span>
 +
| style="width: 600px;" | <span style="font-size:larger;">snpe-throughput-net-run --duration 5 --perf_profile burst --use_dsp --userbuffer_auto --container /opt/Advantech/EdgeAISuite/QCS6490/VisionAI/model/ssd-soc-quant.dlc</span>
 +
| style="width: 200px;" | <span style="font-size:larger;">582</span>
 +
|}
  
<span style="font-size:larger;"><span style="font-size:larger;">[[File:Benchmark.png|800x500px|Benchmark]]</span></span>
+
= <span style="font-size:larger;">System Monitoring</span> =
  
<span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span>
+
[[File:QCS6490-SystemMonitoring-GUI.png|800px|QCS6490-SystemMonitoring-GUI.png]]
  
 +
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px;"
 +
|-
 +
| style="width: 400px;" | <span style="font-size:larger;">Usage</span>
 +
| style="width: 400px;" | <span style="font-size:larger;">Temperature</span>
 +
|-
 +
| style="width: 400px;" | <span style="font-size:larger;">CPU (only)</span>
 +
| style="width: 400px;" | <span style="font-size:larger;">CPU (only)</span>
 +
|}
  
= <span style="font-size:larger;"><span style="font-size:larger;">HailoRT CLI</span></span> =
+
&nbsp;
  
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">HailoRT CLI - a command line application used to control the Hailo device, run inferences, collect statistics and device events, etc. Use "--help" to exhibit more usages.</span></span></span>
+
&nbsp;
<pre>hailortcli --help</pre>
 
  
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">Refer to [https://github.com/hailo-ai/hailort/tree/master github-hailort]</span></span></span>
+
= <span style="font-size:larger;">Limitation</span> =
 
 
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span></span>
 
 
 
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span></span>
 
 
 
 
 
== <span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">Hailo-8 Utilization</span></span></span> ==
 
<pre>hailortcli monitor</pre>
 
 
 
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">[[File:EdgeAISDK_Hailo_Usage.jpg|800x400px|Hailo VPU Usage]]</span></span></span>
 
 
 
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">&nbsp;</span></span></span>
 
 
 
&nbsp;
 
  
== <span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">Hailo-8 Temperature</span></span></span> ==
+
<span>1. (Ignore) The video playback interface cannot drag the position and close the video option.</span>
<pre>python ts_monitoring_2023Sep07.py</pre>
 
  
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">&nbsp; [[File:Thermal in hailortcli.png|800x150px|Thermal in hailortcli.png]]</span></span></span>
+
<span>2. (Ignore) The number of cameras displayed in the Edge AI SDK is inconsistent with the actual number of cameras plugged in through the USB hub.</span>
  
== <span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">Edge AI SDK&nbsp;/&nbsp;Monitoring</span></span></span> ==
+
<span>3. (Ignore) Executing the app.sh process displays two error messages: Locale "C" detected, character encoding "ANSI_X3.4-1968" and QIODevice::read (QFile, "...EAS.ini"): The device is not open.</span>
  
<span style="font-size:larger;"><span style="font-size:larger;"><span style="font-size:larger;">[[File:Thermal.png|800x450px|thermal]]</span></span></span>
+
<span>4. The LEARN MORE link in the Welcome Page is not supported by Yocto.</span>

Latest revision as of 07:43, 9 July 2025

QCS6490 AI Suite

AI Software Suite offers breakthrough AI accelerators and Vision processors uniquely designed to accelerate embedded deep learning applications on edge devices.

Qualcomm devices are accompanied by a comprehensive AI SDK that enables the compilation of deep learning models and the implementation of AI applications in production environments. The model build environment seamlessly integrates with common ML frameworks to allow smooth and easy integration in existing development ecosystems. The runtime environment enables integration and deployment in host processors, such as ARM based products, when utilizing QCS6490 vision processor.

 

 

SNPE

SNPE is a SDK designed to streamline the development and deployment of edge applications demanding high AI performance. This reference application software package empowers users to expedite their time-to-market by minimizing the development workload. SNPE encompasses a user-friendly set of fully operational application examples based on GStreamer, featuring pipeline elements and pre-trained AI tasks. These examples leverage advanced Deep Neural Networks, highlighting Qualcomm's AI processors' top-notch throughput and power efficiency. Furthermore, SNPE serves as a demonstration of Qualcomm's system integration capabilities, showcasing specific use cases on predefined software and hardware platforms. Utilizing SNPE simplifies integration with Qualcomm's runtime software stack and offers a starting point for users to fine-tune their applications. By demonstrating Qualcomm's system integration scenarios on both predefined software and hardware platforms, it can be used for evaluations, reference code, and demos. This approach effectively accelerates time to market, streamlines integration with Qualcomm's runtime software stack, and provides customers with a foundation to fine-tune their applications.

 

Application

To Start EdgeAISDK

Step 1 : open terminal

Step 2 : execute script : /opt/Advantech/EdgeAISuite/MainAPP/QCS6490/app.sh

Qualcomm terminal app.png

Quick Start / Application / Video or WebCam / DSP

Application Model
Object Detection yolov5x (quantized)
Face Detection yolov5n-face (quantized)
Person Detection yolov5x (quantized)

Step 1 : Go to the " Quick start VisionAI" page as show below

Step 2 : Choose one application

QCS6490-VisionAI GUI.png

QCS6490-Object-Detect-1.png

Close AI Inference Application

Step 1 : EdgeAISDK (GUI) show in the top

Step 2 : Press Key "Esc"

Qualcomm Inference exit gui.png

Benchmark

It can quickly evaluate computing performance for the DSP, and provides runtime results inferenced with ML.

QCS6490-Benchmark-GUI.png

Device Command FPS
Run on DSP snpe-throughput-net-run --duration 5 --perf_profile burst --use_dsp --userbuffer_auto --container /opt/Advantech/EdgeAISuite/QCS6490/VisionAI/model/ssd-soc-quant.dlc 582

System Monitoring

QCS6490-SystemMonitoring-GUI.png

Usage Temperature
CPU (only) CPU (only)

 

 

Limitation

1. (Ignore) The video playback interface cannot drag the position and close the video option.

2. (Ignore) The number of cameras displayed in the Edge AI SDK is inconsistent with the actual number of cameras plugged in through the USB hub.

3. (Ignore) Executing the app.sh process displays two error messages: Locale "C" detected, character encoding "ANSI_X3.4-1968" and QIODevice::read (QFile, "...EAS.ini"): The device is not open.

4. The LEARN MORE link in the Welcome Page is not supported by Yocto.