BrainChip Akida™ Platform Features in Edge Impulse

Edge Impulse enables developers to rapidly build enterprise-grade ML algorithms, trained on real sensor data, in a low- to no-code environment. With the complete integration of BrainChip Akida™ technology, these trained algorithms and new algorithms can now be converted into spiking neural networks (SNNs) and deployed to BrainChip Akida target devices such as the Akida mini PCIe development board. This blog highlights the new features with BrainChip technology that are now available in Edge Impulse Studio to provide easy, quick, and advanced model development and deployment for BrainChip Akida neuromorphic technology.

Design an Impulse with BrainChip Akida Learning Blocks

The development of models for BrainChip Akida is now integrated in Edge Impulse Studio. Developers can select BrainChip Akida (refer Figure 1) in the learning block of an impulse design. There are two learning blocks available today — classification, which supports development of new models and transfer learning, which provides access to a model zoo that is optimized for BrainChip Akida devices. The type of learning blocks visible depend on the type of data collected and intent of the project such as classification, object detection. Using the BrainChip Akida learning blocks ensures that the models developed are optimized and successfully deployed to the BrainChip Akida mini PCIe development board.

Figure 1: Choose BrainChip Classification or Transfer learning blocks for development on BrainChip Akida devices

Training a BrainChip Akida Compatible Model

In the learning block of the impulse design one can compare between float, quantized, and Akida versions of a model. If you added a processing block to your impulse design, you will need to generate features before you can train your model. Developers can use Edge Impulse Studio (refer Figure 2) to edit predefined models, and training parameters.

Figure 2: Visual mode of BrainChip Akida learning block with options for to profile float, quantized, and Akida accuracies

Edge Impulse Studio also gives the ability for users to modify pre-generated Python code as a way to get more exact behavior from the learn blocks. In this area the more advanced user can also call into the Akida MetaTF Python package as is integrated into the Akida learn blocks (Figure 3a and 3b).

Graphical user interface, application, Teams
<p>Description automatically generated"><figcaption>Figure 3a: How to access Expert Mode of a BrainChip Akida learn block</figcaption></figure><figure class=
Figure 3b: Example of Expert Mode code that calls BrainChip’s MetaTF package functions

While training the BrainChip Akida learn block, useful information such as model compatibility, summary, sparsity, and # of NPs required are also displayed in the log output (refer Figure 4). This helps developers to review and modify their models to generate custom, optimized, and desired configurations for BrainChip Akida devices (Figure 5).

Figure 4: Profile information for BrainChip Akida

If the project uses a transfer learning block, the developer will be presented with a list of models (refer Figure 5) from BrainChip’s Model Zoo that are pre-trained and optimized for BrainChip Akida. These models will provide a great starting point for developers and implement transfer learning for their projects. As of today, several AkidaNet-based models are integrated into the Edge Impulse Studio and many more will be integrated over time. If developers have a specific request on this, please let us know via the Edge Impulse forums.

Figure 5: List of models available when BrainChip Transfer Learning block is chosen

Deployment Options

Any model that has been developed in the impulse design on Edge Impulse Studio can be deployed to BrainChip Akida target devices. In order to download these models for custom deployments, developers must choose the BrainChip MetaTFTM model block (refer Figure 5a) under the deployment stage to obtain a .zip file with the converted model in it. Alternatively, there is also a BrainChip Akida PCIe deployment block (refer Figure 5b) available which will generate a pre-built binary that can be used with Edge Impulse Linux CLI to run on any compatible Linux installation where this board is installed.

Figure 6a: Download BrainChip Akida-compatible model for custom deployment on BrainChip Akida devices
Figure 6b: Download pre-built binary for AKD1000 mini PCIe development board

The pre-built binary that is provided from the deployment block also has in-built tools that provide performance metrics for the AKD1000 mini PCI reference board (refer Figure 7). This is a very unique integration as developers can not only deploy their favorite projects to BrainChip Akida devices but can also capture information such as efficiency that help build a prototype system with Akida technology.

Figure 7: Performance information unique to BrainChip Akida devices

Edge Impulse Example Projects Using BrainChip Features

To quickly get started, please see these example projects that are available to clone immediately for quick training and deployment to the AKD1000 development platform.

Getting Started with Edge Impulse

If you are new to Edge Impulse, please try out one of the Getting Started tutorials before continuing with Edge Impulse BrainChip Akida features. Please reach out to us on Edge Impulse forums for technical support. If you need more information about getting started with BrainChip Akida on Edge Impulse, visit the documentation page.

Comments

Subscribe

Are you interested in bringing machine learning intelligence to your devices? We're happy to help.

Subscribe to our newsletter