Running Simple demos#
This chapter describes how to run Python and C++ demo applications in edge_ai_apps with live camera and display.
Note
Please note that the Python demos are useful for quick prototyping while C++ demos are similar by design but tuned for performance.
Running Python based demo applications#
Python based demos are simple executable scripts written for image classification, object detection and semantic segmentation. Demos are configured using a YAML file. Details on configuration file parameters can be found in Demo Configuration file
Sample configuration files for out of the box demos can be found in
edge_ai_apps/configs
this folder also contains a template config file
which has brief info on each configurable parameter edge_ai_apps/configs/app_config_template.yaml
Here is how a Python based image classification demo can be run,
1# go to edge-ai-apps folder
2debian@beaglebone:~$ cd /opt/edge_ai_apps/apps_python
3
4# enable root (password: temppwd)
5debian@beaglebone:~$ sudo su
6[sudo] password for beaglebone:
7
8# use edge-ai-apps
9debian@beaglebone:/opt/edge_ai_apps/apps_cpp# sudo ./app_edgeai.py ../configs/image_classification.yaml
The demo captures the input frames from connected USB camera and passes through pre-processing, inference and post-processing before sent to display. Sample output for image classification and object detection demos are as below,
To exit the demo press Ctrl+C.
Building and running C++ based demo applications#
C++ apps needs to be built directly on target and requires header files of different deep-learning runtime framework and its dependencies which are installed in the setup script. The setup script builds the C++ apps when executed. However one can also follow below steps to clean build C++ apps
debian@beaglebone:/opt/edge_ai_apps/apps_cpp# rm -rf build bin lib
debian@beaglebone:/opt/edge_ai_apps/apps_cpp# mkdir build
debian@beaglebone:/opt/edge_ai_apps/apps_cpp# cd build
debian@beaglebone:/opt/edge_ai_apps/apps_cpp/build# cmake ..
debian@beaglebone:/opt/edge_ai_apps/apps_cpp/build# make -j2
Run the demo once the application is successfully built
debian@beaglebone:/opt/edge_ai_apps/apps_cpp# ./bin/Release/app_edgeai ../configs/image_classification.yaml
To exit the demo press Ctrl+C.
Note
Both Python and C++ applications are similar by construction and can accept the same config file and command line arguments
Note
The C++ apps built on Yocto Linux may not run in Docker as there could be a mismatch in Glib and other related tools. So its highly recommended to rebuild the C++ apps within the Docker environment.