Getting started with TI Jacinto 7 Edge AI - Demos - C++ Demos - Build the Docker container & apps
Getting started with TI Jacinto 7 Edge AI RidgeRun documentation is currently under development. |
Getting started with TI Jacinto 7 Edge AI | ||||||
---|---|---|---|---|---|---|
| ||||||
Introduction | ||||||
|
||||||
GStreamer | ||||||
|
||||||
Demos | ||||||
|
||||||
Reference Documentation | ||||||
Contact Us |
Build the Docker container & apps
The C++ Demos need to be run in a Docker image. This section shows the steps necessary to build the Docker container and demos.
Build the Docker container
- Navigate to the docker directory:
cd /opt/edge_ai_apps/docker/
- Build the Docker container:
./docker_build.sh
- The command line should display something like the following:
Sending build context to Docker daemon 24.06kB Step 1/13 : FROM arm64v8/ubuntu:20.04 as edgeaikit ---> 6a98cbe39225 Step 2/13 : ARG DEBIAN_FRONTEND=noninteractive ---> 7099b799debf Step 3/13 : ARG NPROC=1 ---> a7a8c2e2e6a7 Step 4/13 : ARG PROJECT_NAME=edge_ai_apps ---> 9ead13dbe218 Step 5/13 : ENV USE_PROXY=none ---> 9d192f292557 Step 6/13 : ADD entrypoint.sh setup_proxy.sh setup_ti_processor_sdk.sh /usr/bin/ ---> c29446d2018a Step 7/13 : RUN /usr/bin/setup_proxy.sh ---> 69a09af4e3e4 Step 8/13 : RUN apt-get update -y && apt-get dist-upgrade -y && apt-get install -y glib-2.0-dev ncurses-dev libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev libatlas-base-dev libtbb2 libtbb-dev libdc1394-22-dev libgl-dev libopencv-core-dev libopencv-imgproc-dev libglib2.0-0 libyaml-cpp-dev libboost-all-dev ---> f27f0998d648 Step 9/13 : RUN apt-get install -y build-essential cmake ninja-build git wget unzip pkg-config gfortran openexr ---> 361b456bb40d Step 10/13 : RUN apt-get install -y python3 python3-dev python3-numpy python3-opencv python3-pip && pip3 install jupyterlab meson PyYAML Dlr && pip3 install --extra-index-url https://google-coral.github.io/py-repo/ tflite_runtime ---> 97b0a6b00425 Step 11/13 : RUN apt-get install -y vim rsync strace gdb net-tools dialog chrony nfs-common ---> 3291eeb37839 Step 12/13 : RUN apt-get install -y libgstreamer1.0-0 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-tools && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ---> 79677fd988fd Step 13/13 : ENTRYPOINT ["/usr/bin/entrypoint.sh"] ---> a27e6ab55a78 Successfully built a27e6ab55a78 Successfully tagged edge_ai_kit:latest tensorflow
- Run the Docker container:
./docker_run.sh
- After running the container, your session should display a [docker] label before the root username:
[docker] root@j7-evm:/#
Build the C++ demos
To build the C++ demos, follow these steps:
- Navigate to the C++ apps directory:
cd /opt/edge_ai_apps/apps_cpp/
- Build the apps by running the following commands:
mkdir build
cd build
cmake ..
make
- After running the build commands, the command line should display something like the following:
Scanning dependencies of target ti_dl_inferer [ 5%] Building CXX object dl_inferer/CMakeFiles/ti_dl_inferer.dir/src/ti_dl_inferer.cpp.o [ 11%] Building CXX object dl_inferer/CMakeFiles/ti_dl_inferer.dir/src/ti_dlr_inferer.cpp.o [ 17%] Building CXX object dl_inferer/CMakeFiles/ti_dl_inferer.dir/src/ti_tflite_inferer.cpp.o [ 23%] Linking CXX static library ../../lib/Release/libti_dl_inferer.a [ 23%] Built target ti_dl_inferer Scanning dependencies of target utils [ 29%] Building CXX object utils/CMakeFiles/utils.dir/src/cmd_line_parse.cpp.o [ 35%] Building CXX object utils/CMakeFiles/utils.dir/src/classnames.cpp.o [ 41%] Building CXX object utils/CMakeFiles/utils.dir/src/ti_logger.cpp.o [ 47%] Building CXX object utils/CMakeFiles/utils.dir/src/utils.cpp.o [ 52%] Linking CXX static library ../../lib/Release/libutils.a [ 52%] Built target utils Scanning dependencies of target app_semantic_segmentation [ 58%] Building CXX object app_semantic_segmentation/CMakeFiles/app_semantic_segmentation.dir/src/app_semseg_main.cpp.o [ 64%] Linking CXX executable ../../bin/Release/app_semantic_segmentation [ 64%] Built target app_semantic_segmentation Scanning dependencies of target app_image_classification [ 70%] Building CXX object app_image_classification/CMakeFiles/app_image_classification.dir/src/app_image_classification_main.cpp.o [ 76%] Linking CXX executable ../../bin/Release/app_image_classification [ 76%] Built target app_image_classification Scanning dependencies of target app_object_detection [ 82%] Building CXX object app_object_detection/CMakeFiles/app_object_detection.dir/src/app_object_detection_main.cpp.o [ 88%] Linking CXX executable ../../bin/Release/app_object_detection [ 88%] Built target app_object_detection Scanning dependencies of target app_dump_model_info [ 94%] Building CXX object app_dump_model_info/CMakeFiles/app_dump_model_info.dir/src/app_dump_model_info_main.cpp.o [100%] Linking CXX executable ../../bin/Release/app_dump_model_info [100%] Built target app_dump_model_info