Skip to content

A collection of practical, end-to-end AI application examples accelerated by MemryX hardware and software solutions. This repository offers examples for real-time video inference, object detection, text generation, and more. Explore the code, contribute to the projects, and access detailed tutorials to maximize the potential of MemryX technology.

Notifications You must be signed in to change notification settings

memryx/MemryX_eXamples

Repository files navigation

πŸ“’ Announcement: MemryX SDK 2.0 is now released!
Please update to the latest SDK version before proceeding with any of the examples.

MemryX eXamples

MemryX SDK Python Versions C++ ONNX Keras TensorFlow TensorFlow Lite

MemryX eXamples

Welcome to MemryX eXamples, a collection of end-to-end AI applications and tasks powered by MemryX hardware and software solutions. Whether you're performing real-time video inference, exploring fun AI projects, or generating text, these examples provide practical, hands-on use cases to help you fully leverage MemryX technology. For detailed guides and tutorials, visit the MemryX Developer Hub.

Before You Start

To ensure a smooth experience with MemryX solutions, follow these steps before diving into the examples:

  • Explore the Developer Hub: Your gateway to comprehensive documentation for MemryX hardware and software.
  • Install the MemryX SDK: Set up the essential tools and drivers to begin using MemryX accelerators.
  • Check out our Tutorials: Step-by-step instructions for various use cases and end-to-end applications.
  • Explore the Model Explorer: A great starting point for discovering models compiled and tested on MemryX accelerators.

Get Started

Step 1: Prepare Your System and Install the MemryX SDK

Before working with the examples, ensure your system is correctly set up by installing the MemryX SDK. Follow the detailed instructions here: MemryX SDK Get Started Guide.

Step 2: Clone the MemryX eXamples Repository

Clone this repository plus any linked submodules with:

git clone --recursive https://github.com/memryx/memryx_examples.git

Example Categories

Note: Applications marked with πŸ“ have tutorials available. Clicking on the icon will take you directly to the tutorial page.

Real-Time Video Inference πŸŽ₯

Leverage MemryX accelerators for real-time video processing tasks. These applications demonstrate how to run models efficiently on live video streams.

Application Description Models Code OS Preview
Depth Estimation using MiDaS πŸ“ Estimate depth from a video stream MiDaS python-badge cpp-badge Linux Windows Depth Preview
Object Blurring using YOLOv8 Protect individuals privacy in a video stream YOLOv8 python-badge Linux Yolov8 object blurring Preview
Object Tracking using YOLOv8 Object tracking in a video stream YOLOv8 python-badge Linux YOLOv8 + Bytetrack object tracking preview
Object Detection using YOLOv7 πŸ“ Detect objects in real time YOLOv7 (Tiny) python-badge Linux Yolov7 Tiny Object Detection Preview
Object Detection using CenterNet πŸ“ Detect objects in real time CenterNet cpp-badge Linux CenterNet Preview
Object Detection using YoloX Detect objects in real time YoloX (Medium) python-badge Linux YoloX Object Detection Preview
Vehicle Detection Detect vehicle in real time Vehicle-Detection-0200 python-badge Linux vehicle Detection Preview
Segmentation using YOLOv8 Perform instant segmentation on video in real time YOLOv8 Nano Segmentation python-badge Linux Yolov8n Segmentation Preview
Pose Estimation using YOLOv8 πŸ“ Estimate human pose from video YOLOv8 (Medium) python-badge cpp-badge Linux Windows Yolov8 Pose Estimation Preview
3D Point Cloud from Depth Estimation Generate real-time point clouds from depth data MiDaS python-badge Linux Windows Point-cloud Preview
Wireframe detection Using M-LSD and QT Perform Line segment detection in real time M-LSD (Large) python-badge Linux Wireframe Preview
Face Detection & Emotion Classification πŸ“ Detect faces and classify emotions Multiple Models python-badge cpp-badge Linux Face Detection & Emotion Classification Preview
Person Tracking using YOLOv7 Track unique people across video frames YOLOv7 (Tiny) python-badge Linux Person Tracking Preview
Face Landmarks Detection Detect presence of a face and its landmarks BlazeFace and FaceMesh python-badge Linux Landmarks Preview
Mediapipe Hand Landmarks Detect hands and draw a "skeleton" of landmarks PalmDet and HandPose python-badge Linux Windows Hand Preview
Interactive Realtime Multi-Face Recognition Interactive app for face recognition Multiple Models python-badge Linux Face Recognition App
Intrusion Detection Detect any intruding object in a ROI Yolov8 and ByteTrack python-badge Linux Intrusion Preview

Image Inference πŸ–ΌοΈ

Explore models performing inference on static images and data. These examples demonstrate how to leverage the MXA to process large amounts of data.

Application Description Models Code OS Preview
Satellite Object Detection with Oriented Boxes Detect oriented bounding boxes on satellite images YoloV8m-OBB python-badge Linux OBB Preview
Face Detection + Recognition Perform face detection + recognition YoloV8n-Face + FaceNet python-badge Linux Face Preview

Open-Vocabulary πŸ“–

Explore how the MemryX accelerators can be used for open-vocabulary tasks. The examples below demonstrate how to run models using MemryX hardware.

Application Description Models Code OS Preview
Open-Vocab Seg with YoloE open-vocabulary, zero-shot object detection and segmentation yoloe-v8s-seg python-badge Linux YoloE App Preview
Zero-Shot Classify β€” OpenAI CLIP open-vocabulary, zero-shot object classification ClipResNet50 python-badge Linux clip App Preview

Multi-Stream Video Inference πŸ–₯️

Maximize performance by running multiple video streams concurrently on MemryX accelerators.

Application Description Models Code OS Preview
Multi-Stream Object Detection using YOLOv8S πŸ“ Detect objects across multiple streams YOLOv8 (Small) python-badge cpp-badge Linux Yolov8 Object Detection Preview
Multi-Stream Object Detection using YOLOv7Tiny πŸ“ Detect objects across multiple streams YOLOv7 (Tiny) python-badge cpp-badge Linux Yolov7-Tiny Object Detection Preview

Multi-DFP Applications πŸ–₯️

Run multiple models simultaneously on separate DFPs within a single application.

Application Description Models Code OS Preview
Cartoonizer and Pose (Side-by-Side) Real-time cartoon effects and pose detection simultaneously Facial-Cartoonizer & YOLOv8s-pose python-badge cpp-badge Linux Cartoon & PoseEstimation Preview
Cartoonizer and Pose (Selectable Overlays) Real-time overlay of cartoon and pose estimation Facial-Cartoonizer & YOLOv8s-pose python-badge Linux Overlay Cartoon & PoseEstimation Preview

Optimized Multi-Stream Apps πŸ‘€

Configurable many-stream video applications with USB, RTSP, and video file support, using optimized C++ pre/post-processing.

Application Description Models Code OS Preview
Object Detection with YOLOv8 High performance, configurable C++ object detection YOLOv8 (Nano) cpp-badge Linux Yolov8 Object Detection App Preview
PCB Defect Detection Detect defects on printed circuit boards in real time across multiple video streams Retrained YOLOv8 (Small) cpp-badge Linux PCB Defect Detection App Preview

Fun Projects πŸ€–

Explore interactive and engaging AI-powered applications in our fun projects section.

Application Description Models Code OS Preview
Chrome Dino Game πŸ“ Control the Chrome Dino Game using palm detection Palm Detection python-badge Linux Dino Game Preview
Deep Reinforcement Learning with Mario Play Mario with a Reinforcement Learning Agent Custom python-badge Linux Mario Game Preview
Aimbot Automatic aim and click for Windows games YOLOv7 (Tiny) python-badge Windows AimBot Preview
Repcounting Web-application Workout repcounting web-application YOLOv8 Pose (medium) python-badge Linux MxFit Preview
Facial Cartoonizer Instantly cartoonize videos in real time Facial-Cartoonizer python-badge Linux Windows Dino Game Preview
Virtual Painter Virtually Paint using Hand Landmarks in real-time Palm Detection & Hand Landmark python-badge Linux Virtual Painter Preview
ASL Alphabet to Text Use the American Sign Language alphabet to spell words Palm Detection & Hand Landmark python-badge Linux ASL Spelling Preview

Accuracy Calculation βœ…

Measure and evaluate the accuracy of various models using MemryX hardware.

Task Description Models Code OS
Classification Accuracy πŸ“ Calculate accuracy for classification models ResNet50 python-badge Linux
Object Detection Accuracy πŸ“ Calculate accuracy for object detection models YOLOv8 (Medium) python-badge Linux
Keras Classifiers Accuracy πŸ“ Calculate Keras classifiers accuracy on the MXA Keras applications python-badge Linux

Audio Inference πŸ”Š

Explore how the MemryX accelerators can be used for audio/speech processing tasks. The examples below demonstrate how to run models using MemryX hardware.

Task Description Models Code OS
Audio Denoising using UNet Remove noise from speech audio using UNet UNet python-badge Linux
Audio Classification using YAMNet Identify audio categories using YAMNet YAMNet python-badge Linux
Audio Classification Web App Classify audio using YAMNet in a web app YAMNet python-badge Linux
Speech Emotion Recognition Web App Detect emotion from speech (web app) Light-SERNet python-badge Linux

Useful Links

  • Developer Hub β€” Comprehensive documentation for MemryX hardware and software.
  • DevHub Get Started β€” Guide to set up MemryX software and hardware.
  • Tutorials β€” Step-by-step instructions for various use cases and applications.
  • FAQ β€” Frequently asked questions.
  • Troubleshooting Guide β€” Solutions to common issues.

Contribution Guidelines

We welcome contributions! If you'd like to contribute to this repository or examples, please refer to our contribution guidelines. Feel free to submit pull requests, suggest improvements, or ask questions in the issues section.

Frequently Asked Questions (FAQ)

1. How do I install the MemryX SDK?

Refer to the SDK Installation Guide for a detailed step-by-step guide on setting up the MemryX SDK.

2. What do I do if an example isn't working?

Make sure you’ve followed all setup steps. You can also check the Troubleshooting Guide for more help, or open an issue in the repository.

3. Can I contribute to this repository?

Yes! We welcome contributions. Please refer to our contribution guidelines for more information on how to contribute.

Happy coding! 😊
The MemryX Team

About

A collection of practical, end-to-end AI application examples accelerated by MemryX hardware and software solutions. This repository offers examples for real-time video inference, object detection, text generation, and more. Explore the code, contribute to the projects, and access detailed tutorials to maximize the potential of MemryX technology.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 11