LogoLogo
HomeDocsAPIProjectsForum
  • Getting Started
    • For beginners
    • For ML practitioners
    • For embedded engineers
  • Frequently asked questions
  • Tutorials
    • End-to-end tutorials
      • Continuous motion recognition
      • Responding to your voice
      • Recognize sounds from audio
      • Adding sight to your sensors
        • Collecting image data from the Studio
        • Collecting image data with your mobile phone
        • Collecting image data with the OpenMV Cam H7 Plus
      • Object detection
        • Detect objects using MobileNet SSD
        • Detect objects with FOMO
      • Sensor fusion
      • Sensor fusion using Embeddings
      • Processing PPG input with HR/HRV Features Block
      • Industrial Anomaly Detection on Arduino® Opta® PLC
    • Advanced inferencing
      • Continuous audio sampling
      • Multi-impulse
      • Count objects using FOMO
    • API examples
      • Running jobs using the API
      • Python API Bindings Example
      • Customize the EON Tuner
      • Ingest multi-labeled data using the API
      • Trigger connected board data sampling
    • ML & data engineering
      • EI Python SDK
        • Using the Edge Impulse Python SDK with TensorFlow and Keras
        • Using the Edge Impulse Python SDK to run EON Tuner
        • Using the Edge Impulse Python SDK with Hugging Face
        • Using the Edge Impulse Python SDK with Weights & Biases
        • Using the Edge Impulse Python SDK with SageMaker Studio
        • Using the Edge Impulse Python SDK to upload and download data
      • Label image data using GPT-4o
      • Label audio data using your existing models
      • Generate synthetic datasets
        • Generate image datasets using Dall·E
        • Generate keyword spotting datasets
        • Generate physics simulation datasets
        • Generate audio datasets using Eleven Labs
      • FOMO self-attention
    • Lifecycle Management
      • CI/CD with GitHub Actions
      • OTA Model Updates
        • with Nordic Thingy53 and the Edge Impulse APP
      • Data Aquisition from S3 Object Store - Golioth on AI
    • Expert network projects
  • Edge Impulse Studio
    • Organization hub
      • Users
      • Data campaigns
      • Data
      • Data transformation
      • Upload portals
      • Custom blocks
        • Transformation blocks
        • Deployment blocks
          • Deployment metadata spec
      • Health Reference Design
        • Synchronizing clinical data with a bucket
        • Validating clinical data
        • Querying clinical data
        • Transforming clinical data
        • Buildling data pipelines
    • Project dashboard
      • Select AI Hardware
    • Devices
    • Data acquisition
      • Uploader
      • Data explorer
      • Data sources
      • Synthetic data
      • Labeling queue
      • AI labeling
      • CSV Wizard (Time-series)
      • Multi-label (Time-series)
      • Tabular data (Pre-processed & Non-time-series)
      • Metadata
      • Auto-labeler [Deprecated]
    • Impulse design & Experiments
    • Bring your own model (BYOM)
    • Processing blocks
      • Raw data
      • Flatten
      • Image
      • Spectral features
      • Spectrogram
      • Audio MFE
      • Audio MFCC
      • Audio Syntiant
      • IMU Syntiant
      • HR/HRV features
      • Building custom processing blocks
        • Hosting custom DSP blocks
      • Feature explorer
    • Learning blocks
      • Classification (Keras)
      • Anomaly detection (K-means)
      • Anomaly detection (GMM)
      • Visual anomaly detection (FOMO-AD)
      • Regression (Keras)
      • Transfer learning (Images)
      • Transfer learning (Keyword Spotting)
      • Object detection (Images)
        • MobileNetV2 SSD FPN
        • FOMO: Object detection for constrained devices
      • NVIDIA TAO (Object detection & Images)
      • Classical ML
      • Community learn blocks
      • Expert Mode
      • Custom learning blocks
    • EON Tuner
      • Search space
    • Retrain model
    • Live classification
    • Model testing
    • Performance calibration
    • Deployment
      • EON Compiler
      • Custom deployment blocks
    • Versioning
  • Tools
    • API and SDK references
    • Edge Impulse CLI
      • Installation
      • Serial daemon
      • Uploader
      • Data forwarder
      • Impulse runner
      • Blocks
      • Himax flash tool
    • Edge Impulse for Linux
      • Linux Node.js SDK
      • Linux Go SDK
      • Linux C++ SDK
      • Linux Python SDK
      • Flex delegates
    • Edge Impulse Python SDK
  • Run inference
    • C++ library
      • As a generic C++ library
      • On your desktop computer
      • On your Zephyr-based Nordic Semiconductor development board
    • Linux EIM Executable
    • WebAssembly
      • Through WebAssembly (Node.js)
      • Through WebAssembly (browser)
    • Docker container
    • Edge Impulse firmwares
  • Edge AI Hardware
    • Overview
    • MCU
      • Nordic Semi nRF52840 DK
      • Nordic Semi nRF5340 DK
      • Nordic Semi nRF9160 DK
      • Nordic Semi nRF9161 DK
      • Nordic Semi nRF9151 DK
      • Nordic Semi nRF7002 DK
      • Nordic Semi Thingy:53
      • Nordic Semi Thingy:91
    • CPU
      • macOS
      • Linux x86_64
    • Mobile Phone
    • Porting Guide
  • Integrations
    • Arduino Machine Learning Tools
    • NVIDIA Omniverse
    • Embedded IDEs - Open-CMSIS
    • Scailable
    • Weights & Biases
  • Pre-built datasets
    • Continuous gestures
    • Running faucet
    • Keyword spotting
    • LiteRT (Tensorflow Lite) reference models
  • Tips & Tricks
    • Increasing model performance
    • Data augmentation
    • Inference performance metrics
    • Optimize compute time
    • Adding parameters to custom blocks
    • Combine Impulses
  • Concepts
    • Glossary
    • Data Engineering
      • Audio Feature Extraction
      • Motion Feature Extraction
    • ML Concepts
      • Neural Networks
        • Layers
        • Activation Functions
        • Loss Functions
        • Optimizers
          • Learned Optimizer (VeLO)
        • Epochs
      • Evaluation Metrics
    • Edge AI
      • Introduction to edge AI
      • What is edge computing?
      • What is machine learning (ML)?
      • What is edge AI?
      • How to choose an edge AI device
      • Edge AI lifecycle
      • What is edge MLOps?
      • What is Edge Impulse?
      • Case study: Izoelektro smart grid monitoring
      • Test and certification
    • What is embedded ML, anyway?
    • What is edge machine learning (edge ML)?
Powered by GitBook
On this page
  • Selecting a community Learn Block
  • Community Created Custom Learn Blocks
  • Key Considerations
  • Troubleshooting and Known Issues
  • Conclusion
  1. Edge Impulse Studio
  2. Learning blocks

Community learn blocks

PreviousClassical MLNextExpert Mode

Last updated 6 months ago

Building a robust machine learning model, especially in the realm of computer vision, is challenging due to the need for extensive datasets and significant computational resources. Transfer learning has emerged as a powerful solution, allowing developers to leverage pre-trained models and adapt them to their specific needs. This guide provides an overview of various community created custom learn blocks, and their applications.

Prerequisites

  • A object detection project: See for details on how to create one.

Tutorials Want to create your own Custom Learn Block? Check out our tutorial:

Selecting a community Learn Block

To select a community created learning block, click Object detection in the menu on the left. Here you can select Choose a different model, and we will select YOLOv5 which was created by our COMMUNITY. You can see the detail for the given block here too for example: Yolov5 is a transfer learning model based on Ultralytics YOLOv5 using yolov5n.pt weights, supports RGB input at any resolution (square images only).

Community Created Custom Learn Blocks

Below is a detailed table of custom learn blocks created by the community, showcasing their capabilities and potential applications:

Architecture
Description
Compatibility
Applications

A high-speed, accurate object detection model.

NPU, CPU (MPU), GPU

Advanced object detection, image analysis

A scalable image classification model.

Low-end MCU, NPU, CPU (MPU), GPU

Image classification, facial recognition, scene detection

A versatile tool for classification and regression tasks.

Ultra Low-end MCU, Low-end MCU, NPU, CPU (MPU), GPU

Diverse classification tasks, data analysis

Suitable for foundational machine learning tasks.

Ultra Low-end MCU, Low-end MCU, NPU, CPU (MPU), GPU

Pattern recognition, foundational machine learning tasks

A logistic regression model for classification.

Ultra Low-end MCU, Low-end MCU, NPU, CPU (MPU), GPU

Prototyping, data analysis

Object detection tailored for Renesas platforms.

NPU, CPU (MPU), GPU

Industrial automation, advanced image processing

Flexible object detection model.

NPU, CPU (MPU), GPU

General object detection, traffic monitoring, retail analytics

Advanced object detection for Texas Instruments hardware.

NPU, CPU (MPU), GPU

Automotive systems, smart city applications

Notes:

  • Ultra Low-end MCU: Devices with very limited memory and processing power, typically used for sensor-driven tasks.

  • Low-end MCU: More capable than ultra low-end MCUs, but still limited in processing power and memory.

  • NPU: Specialized for neural network processing; efficient for machine learning tasks.

  • CPU (MPU): General-purpose processors, capable of handling complex computations and larger models.

  • GPU: High-performance processing units, ideal for large-scale and compute-intensive machine learning models.

  • Sensor Applications: Indicates the types of applications each model is typically used for, based on sensor data processing capabilities.

Key Considerations

Hardware Compatibility

Ensure that your chosen learn block is compatible with your hardware. Some blocks, like YOLOv5, have specific hardware requirements.

Limitations and Challenges

Each learn block comes with its own set of limitations. Understanding these is crucial for effective model development.

Use Cases

Align your project requirements with the capabilities of the learn block. For instance, use YOLOv5 for complex object detection tasks and Keras for simpler tasks.

Troubleshooting and Known Issues

The community blocks are not always integrated by Edge Impulse. This means they won't be tested on our CI/CD workflows.

Thus, we will provide limited support on the forum. If you are interested in using them for an enterprise project, please check our pricing page and contact us directly, our solution engineers can work with you on the integration:

YOLOv5 (Community Block)

  • Log items.

  • Metrics output issues.

  • Jetson Nano compatibility issues.

  • Lack of model size feedback pre-training completion.

  • Fixed batch size, no modification option.

EfficientNet (Community Block)

  • Potential compatibility issues with low-resource devices.

Scikit-learn (Community Block)

  • Potential compatibility issues with low-resource devices.

Conclusion

Custom learn blocks offer a flexible approach to machine learning, enabling you to tailor models to your specific needs. By understanding the capabilities and limitations of each block, you can harness the power of machine learning more effectively in your projects.

(Community)

(Community)

(Community)

(Community)

(Community)

Community

YOLOv5
EfficientNet
Keras
PyTorch
Scikit-learn
YOLOv5 for Renesas DRP-AI
YOLOv5 Community
YOLOX for TI TDA4VM
object detection
Adding a Custom Learn Block
A menu showing all of the available custom learn blocks.