Home
Documentation: https://ambiqai.github.io/neuralspot-edge
Source Code: https://github.com/AmbiqAI/neuralspot-edge
neuralSPOT Edge (NSE) is Keras 3 add-on focused on training and deploying models on resource-constrained, edge devices. NSE relies heavily on Keras 3 leveraging it's multi-backend support and customizable architecture. This package provides a variety of additional models, layers, optimizers, quantizers, and other components to help users train and deploy models for edge devices.
Main Features
- Callbacks: Training callbacks
- Converters: Converters for exporting models
- Interpreters: Inference engine interpreters (e.g. TFLite)
- Layers: Custom layers including
tf.data.Dataset
preprocessing layers - Losses: Additional losses such as SimCLRLoss
- Metrics: Custom metrics such as SNR
- Models: Highly parameterized 1D/2D model architectures
- Optimizers: Additional optimizers
- Plotting: Plotting routines
- Quantizers: Quantization techniques
- Trainers: Custom trainers such as SSL contrastive learning
- Utils: Utility functions
Problems NSE looks to solve
Compatability issues between frameworks and inference engines
- By leveraging Keras 3, entire workflows can be run using a variety of backends using a consistent front-end API. This allows selecting a backend that plays nicely with a specific inference engine without rewriting the entire model.
SOTA models dont scale down well and come in limited configurations
- By providing highly parameterized model architectures based on SOTA models, users can easily scale down models to fit their needs.
Limited 1D time-series models
- Most included models in NSE provide both 1D and 2D versions. The package also contains time-series specific models.
Limited support for quantization, pruning, and other model optimization techniques
- NSE provides a variety of quantization and pruning techniques to optimize models for edge deployment.