.. _Introduction to Edgematic: ========================= Introduction to Edgematic ========================= Edgematic is a cutting-edge UI-based development platform design for **Edge AI applications**. It empowers developers to streamline the creation and deployment of **Edge AI applications** with minimal coding requirements. Built on **Palette**, Edgematic provides a low/no-code environment to construct and evaluate **optimized pipelines**. It uses GStreamer alongside SiMa's engine for model quantization, compilation, and deployment, making it an essential tool for accelerating **Edge AI workflows**. This document is a comprehensive resource for understanding, exploring, and maximizing the potential of **Edgematic**, a cutting-edge UI-based development platform designed for **Edge AI applications**. Whether you are a seasoned developer or new to Edge AI, this guide will help you navigate through the platform's capabilities, ensuring a seamless experience as you build, test, and deploy advanced machine learning applications. Typical users include: - **AI developers** looking to optimize their models for edge deployment. - **Data scientists** seeking a user-friendly platform for model evaluation and quantization. - **System integrators** aiming to create scalable, efficient AI solutions. - Anyone interested in exploring the intersection of **AI, edge devices, and low-latency applications**. Key Features ============ Edgematic offers a range of features to simplify your Edge AI development process: - **Pre-Created Pipelines**: Test and evaluate pipelines built for real-world use cases. - **Model Import and Evaluation**: Bring your own models to obtain performance metrics like FPS and FPS/W. - **Seamless Integration**: Drag and drop **compiled models from Palette** into Edgematic for automatic pre/post-processing optimization. - **Future Enhancements**: Look forward to features like application development, local deployment, online model quantization and compilation, and MLSoC device management. Benefits ======== Edgematic saves you time and effort by automating complex processes, providing a streamlined environment for deploying highly optimized Edge AI applications. By leveraging its capabilities, you can focus on innovation and efficiency without worrying about the intricacies of edge hardware configurations or low-level software development. Getting Started =============== In the sections ahead, you will find step-by-step instructions, examples, and best practices to help you get started with Edgematic. Whether you want to evaluate existing pipelines, deploy a custom model, or build a comprehensive application, this guide will provide the insights you need to succeed. Let us begin your journey to transforming **Edge AI development** with Edgematic! Layout ------ .. image:: media/edgematic_sections.png :scale: 30% :align: center | .. tabs:: .. tab:: 1 - Project Explorer The **Project Explorer** displays the file structure of the project. It organizes files, folders, and dependencies for easy navigation. Key elements include: - **Project Files**: Contains project definitions, dependencies, and configuration files. - **Plugins**: Houses modules such as ``capsfilter``, ``h264parse``, and ``nmsyolov5`` that can be used in your pipeline. - **Resources**: Stores additional assets and ``application.json``. Use the **search bar** to quickly locate files within the project structure. .. tab:: 2 - Canvas The **Canvas** is the visual interface for building and editing application pipelines. Features: - **Pipeline Blocks**: Drag-and-drop blocks like ``queue2``, ``overlay_v2``, and ``udp_sink`` to configure workflows. - **Connections**: Link blocks to define data flow between modules. - **Zoom and Pan Tools**: Adjust your view for detailed editing or a holistic overview. The canvas provides a graphical representation of the processing pipeline. .. tab:: 3 - Application KPIs The **Application KPI Panel** provides real-time performance metrics of the pipeline. Metrics include: - **Frames Per Second (FPS)** for the full pipeline. - Individual processing speeds for **MLA**, **APU**, and **CVU**. - A timeline view showing the performance breakdown for each module. This panel helps in optimizing the application's performance. .. tab:: 4 - Toolbar The **Toolbar** offers quick access to application controls and debugging tools. Options include: - **Run Controls**: Start, stop, or reset the application pipeline. - **Stage Selection**: Choose the stage board for execution. - **Debug Tools**: Access detailed logs and breakpoints for troubleshooting. Customize the toolbar to suit your workflow needs. .. tab:: 5 - Catalog The **Catalog** displays available prebuilt applications, models, and plugins that can be added to the pipeline. Categories: - **Applications**: Pre-configured applications like ``yolo_v5_ethernet`` and ``people_tracking``. - **Models**: Machine learning models compatible with the platform. - **Plugins**: Modules for specific functionalities such as encoding and decoding. Use the catalog to expand the capabilities of your application. .. tab:: 6 - Live KPI Toggle The **Live KPI Toggle** activates real-time tracking of performance metrics. Features: - **Toggle On/Off**: Start or stop live updates. - **Performance Insights**: Monitor pipeline execution speed and resource utilization. This toggle is essential for performance monitoring and optimization. .. tab:: 7 - Notifications The **Notifications** section provides access to user notifications and system configurations. Features: - **Notifications**: View alerts or messages related to application execution. - **User Settings**: Adjust preferences like theme, display options, or account settings. This section ensures that the user is informed and has full control over the interface.