Skip to content

Home

NSE


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.