SensiML Integration of TensorFlow Lite

Two Great Technologies,
One Even Greater Solution

TensorFlow Lite for Microcontrollers is a port of Google’s popular open-source TensorFlow machine learning framework tailored to the unique power, compute, and memory limitations of extreme IoT edge nodes. SensiML Analytics Toolkit has been designed to deliver the easiest and most transparent set of developer tools for the creation and deployment of machine learning at the edge for developers of all levels of AI expertise.

Now TensorFlow users can enjoy the benefits and productivity gains of SensiML’s end-to-end workflow making training datasets easier to create and manage and providing powerful AutoML preprocessing while retaining the model operations of TFL. Through this tightly coupled integration of SensiML and Google’s TensorFlow Lite for Microcontrollers, developers reap the benefit of best-in-class solutions for building efficient, intelligent sensor AI algorithms capable of running autonomously on IoT edge devices.

Data Collection and Labeling Made Simple

One of the most common factors impacting success or failure in machine learning model development is that of the training dataset itself. Adverse dataset factors that can impact model quality for the worse can be categorized into the following:

  • Poor sensor data quality
  • Data insufficiency
  • Mislabeled data
  • Omission of negative cases
  • Unexplained variance

Most frameworks for machine learning, TensorFlow included, rely on the user to manage this critical step in the process themselves. The absence of tools geared to addressing quality data collection and labeling make this task a challenging one that often requires custom scripting, expertise, data conversion, and ad hoc data management.

SensiML’s Data Capture Lab, as a front-end tool for collecting, labeling, and managing production grade datasets addresses this pain-point and thus complements TFL for Microcontrollers delivering high quality labeled data for NN training.

SensiML Data Capture Lab sensor data capture session

Without high-quality datasets, it is difficult to train models that can perform reliably in production… SensiML’s Data Capture Lab fills this gap in the industry by providing tools to quickly collect and annotate high-quality sensor datasets.”

Pete Warden, technical lead of Google’s TensorFlow Mobile Team

Reducing Neural Network Complexity with Feature Preprocessing

While neural network algorithms are extremely powerful tools for data classification, one of the more common challenges is optimizing the learning process with the minimum amount of data required to train the network. The need for large training datasets adds both time and cost to any sensor algorithm development project as more data requires more effort to properly collect and label train and test data for model generation.

To overcome this challenge, data scientists often use preprocessing of the training data feeding the NN to speed up the learning process. Data normalization, regularization, whitening, and dimensionality reduction are just a few of the common techniques often employed.

SensiML, with over 80 preprocessing feature transforms, uses AutoML techniques to identify preprocessing features that can be prepended to TFL Micro NNs and provide a similar benefit regardless of the user’s expertise in such methods. Using cloud-based feature engineering search methods, SensiML Toolkit can advise on advantageous feature preprocessing and thereby improve:

  • Training dataset size requirements
  • NN model size (layers/nodes)
  • Performance

Given embedded devices and MCUs have much more limited resources than cloud computing, such improvements can make the difference in implementing a given algorithm on the desired target IoT device.

ABI Research cites SensiML and TensorFlow Lite for Micro as leading tools for TinyML development

“Open-source software development from Google through TensorFlow Lite for Microcontroller and proprietary solutions from the likes of SensiML offer developer-friendly software tools and libraries, allowing more AI developers to create AI models that can support very edge applications.”

Now developers can enjoy the benefits of both tools combined

SensiML + TFL Tutorial

A video annotated iPython Notebook shows how to create a TinyML application (using a boxing wearable example) with SensiML Toolkit combined with a NN classifier using TensorFlow Lite for Microcontroller AI framework.

Avoid Dataset Pitfalls

Understand and prevent common training dataset errors by improving your workflow for building, labeling, and managing supervised machine learning data as enabled with SensiML Data Capture Lab.