Community learn blocks

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 object detection 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).

A menu showing all of the available custom learn blocks.

Community Created Custom Learn Blocks

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

ArchitectureDescriptionCompatibilityApplications

YOLOv5 (Community)

A high-speed, accurate object detection model.

NPU, CPU (MPU), GPU

Advanced object detection, image analysis

EfficientNet (Community)

A scalable image classification model.

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

Image classification, facial recognition, scene detection

Keras (Community)

A versatile tool for classification and regression tasks.

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

Diverse classification tasks, data analysis

PyTorch (Community)

Suitable for foundational machine learning tasks.

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

Pattern recognition, foundational machine learning tasks

Scikit-learn (Community)

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.

Last updated

Revision created

fix