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).
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 |
---|---|---|---|
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 | |
YOLOv5 Community Community | 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