Being one of the fastest developing deep learning aspects, TinyML has immense possibilities in areas where it is required to deploy a model that works on small and low power devices. Starting from imagery micro-satellite, tracking wildlife for conservation to detecting crop ailments, animal illnesses and predicting wildfires, TinyML comes with many possibilities. Not only it enables low-latency inference at edge devices consuming less power but also allows ML applications to run at edge intelligence.
‘OK, Google’ has been one of the renowned applications of TinyML, that works on everybody’s smartphones. With such applications in hand, along with software frameworks like TensorFlow Lite for Microcontrollers, it has become extremely easy to deploy TinyML models. Along with that, Tiny ML also comes with capabilities to support private machine learning applications and can work without any internet connection on edge devices.
With TinyML gaining massive traction in the industry, it has become critical for ML practitioners to get a comprehensive understanding of this aspect of deep learning. Here, we will share free online resources to get hands-on TinyML.
Also Read: What Are The Challenges Of Establishing A TinyML Ecosystem
1| The “Hello World” of TinyML
By: O’Reilly
About: This tutorial will focus on building and training a TinyML model from scratch and then integrate the same into a simple microcontroller program. The tutorial will be using Keras to train the tiny model, and the learners will be able to train, evaluate and convert a TensorFlow deep learning network that can produce accurate output. It will start with obtaining a simple dataset, followed by training the deep learning model and evaluating its performance and then convert the same to the run-on device. Once the code has been built in binary, it can then be deployed on to a microcontroller.
Click here to learn.
2| Training a Model for Arduino in TensorFlow
By: DigiKey
About: This tutorial will teach how to create a neural network that can predict an accurate output of the sine function. Once that is done, the model will then be converted into a TFLite Model and examine the same using Netron. With this tutorial, learners will be able to load the model and use it for inference with the TFLite for Microcontrollers library. Along with that, it will also help learners to get started with Colab for deploying microcontrollers.
Click here to learn.
3| Easy TinyML on ESP32 and Arduino
By: Hackster
About: This tutorial will show the easiest way to deploy TensorFlow Lite models onto ESP32 using Arduino IDE with just a few lines of code. With this, the learners will get a brief recap of TinyML knowledge and the steps that are required to implement TF models to a microcontroller. Further, this tutorial will also introduce learners to a tiny library to facilitate the deployment in the Arduino IDE — EoquentTinyML. This will help learners to kick start their next TinyML project on ESP32.
Click here to learn.
4| Train A TinyML Model To Recognise Sounds
By: EdgeImpulse
About: Train A TinyML Model To Recognise Sounds is a tutorial provided by EdgeImpulse that will focus on tracking animal behaviour, especially sounds using only 23KB of RAM. This tutorial can be helpful for those who are working on animal tracking projects and wish to know the number of times the lions roared in a day. Counting the roars can be a tedious task, thus, to make the work easy, this tutorial will teach how to train a machine learning model to recognise lion roars in the recordings using a set of labelled data, advanced algorithm, and TinyML model.
Click here to learn.
5| Cough Detection with TinyML on Arduino
By: Arduino
About: This tutorial will focus on building a cough detection system for the Arduino Nano BLE Sense using TinyML and Edge Impulse. The tutorial will start with showcasing the use of Edge Impulse machine learning on Arduino Nano BLE Sense to identify the presence of coughing sound in the audio set. With a coughing dataset built on sample audios, this TinyML model will be able to run on 20KB RAM with Nano BLE Sense. This tutorial will start with a basic understanding of software development and Arduino, and then will use Edge Impulse to create the cough detection model.
Click here to learn.
Also Read: Do Developers Need Theoretical Knowledge For AI Programming?
6| Tutorial on Micro-Kernel Based Hardware Acceleration
By: Manu Rastogi
About: This YouTube tutorial is provided by Manu Rastogi, a machine learning engineer at Apple, where he will talk about the matrix multiplication micro-code. With the increased traction of deep learning, there has been a significant competition amongst different hardware vendors to provide the most energy-efficient solutions. However, the critical element of model deployment at the edge is the mico-kernels that help in the data movement and the computation of these networks on hardware. In this tutorial, learners will be able to understand the various trade-offs between different optimisation strategies and extend these principles to neural networks.
Click here to learn.
7| Tiny ML on Arduino
By: Arduino
About: Tiny ML on Arduino is a tutorial provided by Arduino on Gesture recognition. Starting from setting up a Python environment, this tutorial will showcase how to upload data, train a neural network, build and train the model and then run it with the test data. Provided by Sandeep Mistry of Arduino and Done Coleman of Chariot Solutions, this tutorial will use Arduino Nano 33 BLE Sense to convert motion gestures to emojis.
Click here to learn.
8| AutoML for TinyML with Once-for-All Network
By: Song Han
About: AutoML for TinyML with Once-for-All Network is another YouTube tutorial which is provided by Song Han, an assistant professor in MIT’s Department of Electrical Engineering and Computer Science. This tutorial will address the issue of having efficient inference across many devices and the resource constraints that arise on edge devices. The once-for-all network is a network that surpasses MobileNetV3 and EfficientNet by a large margin, and in this tutorial, the learners will be able to use TinyML with Once-for-All network.
Click here to learn.
9| AI Speech Recognition with TensorFlow Lite for SparkFun Edge
By: CodeLabs
About: Offered by CodeLabs, this tutorial will start with providing an introduction of machine learning on microcontrollers, TensorFlow Lite for microcontrollers and SparkFun Edge. This will be then followed up by compiling the sample program for SparkFun Edge on the computer, deploying the program and then making the required changes to deploy the program. This tutorial comes with a prerequisite of having SparkFun Edge Board and USB-C Serial Basic programmer.
Click here to learn.