Deep Learning on ARM Processors - From Ground Up™
4.2 (55 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
791 students enrolled

Deep Learning on ARM Processors - From Ground Up™

Build Artificial Intelligence Firmware from Scratch on ARM Microcontrollers
4.2 (55 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
791 students enrolled
Last updated 5/2020
English
English [Auto]
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 19.5 hours on-demand video
  • 1 article
  • 17 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Build Neural Networks from scratch without libraries
  • Master quantization methods for deploying Neural Networks on microcontrollers
  • Build a Deep Learning Firmware for Image Classification
  • Build a Deep Learning firmware for Human Activity Recognition (HAR) e.g. running,walking etc.
  • Build a Deep Learning Firmware for Handwriting Recognition
  • Build a Deep Learning Firmware for Acoustic Scene Classification (ASC)
  • Be able to give a Lecture on Deep Learning
Requirements
  • STM32F411-NUCLEO BOARD
  • STM32F429 -DISCO BOARD
Description


Arm copyright material reproduced by kind permission of Arm Limited. Copyright © Arm Limited. All Arm trademarks featured in this course  are registered or unregistered trademarks of Arm Limited (or its subsidiaries) in the US or elsewhere. All rights reserved.

Welcome to the Deep Learning From Ground Up™ on ARM Processors course.

We are going to embark on a very exciting journey together. We are going to learn how to build deep neural networks from scratch on our microcontrollers.

We shall begin by learning the basics of deep learning with practical code showing each of the basic building blocks that end up making a giant deep neural network. All of this on our microcontroller, both training and inference.

As we begin to deal with large datasets we shall start training our neural networks on our computers and then deploying the the trained models on our microcontrollers. Due to the limited memory and processing power of microcontrollers we shall learn methods for quantizing our models before deploying them on our resource constrained microcontrollers without compromising the accuracy of our models.

We shall also learn how to thoroughly take advantage of deep learning libraries such as Keras and Tensorflow as well as microncontroller specific deep learning libraries such as CMSIS-NN, CubeMX.AI and TensorFlow Lite.


By the end of this course you will be able to build neural networks from scratch without libraries, be able to master quantization methods for deploying neural networks on microcontrollers , be able to build  deep learning firmware for Image Classification, be able to  build deep learning firmware for Human Activity Recognition, be able to build deep learning firmware for Handwriting Recognition, be able to use Keras, CMSIS-NN, CubeMX.AI  and so much more.

If you are new to machine learning and deep learning, this course is for you. The course starts from the very basic building block of neural networks and teaches you how to build your own neural network using pure c code before we move on to see how to use readily available libraries.

If you already have some experience with deep learning and want to see how to deploy models on microcontrollers you can also join this course. This course gives an in-depth training on the design methodology that needs to be adopted in order to be to deploy models on resource constrained microcontrollers.


Sign up and lets start building some intelligent firmware.

Who this course is for:
  • If you are new to machine learning and deep learning, this course is for you. The course starts from the very basic building block of neural network and teaches you how to build your own neural network using pure c code before we move on to see how to use readily available libraries.
  • If you already have some experience with deep learning and want to see how to deploy models on microcontrollers you can also join this course. The course gives in-depth train on the design methodology that needs to be adopted in order to be to deploy models on microcontrollers.
Course content
Expand all 119 lectures 19:15:18
+ Introduction
5 lectures 52:01
Introduction to Deep Learning
03:00
Considerations for Deep Learning on Microcontrollers
04:24
Coding : Setting Up a UART Driver
32:11
Further discussion on UART Alternate Function configuration
07:52
+ Building Blocks of Neural Networks
18 lectures 02:15:12
Notice
00:09
The Single Input Single Output Neural Network
01:05
Installing Tera Term
02:56
Coding : The Single Input Single Output Neural Network
13:45
The Multiple Input Single Output Neural Network
02:39
Coding : The Multiple Input Single Output Neural Network
16:58
Coding : Single Input Multiple Output Neural Network
14:31
The Multiple Input Multiple Output Neural Network
02:49
Coding : The Multiple Input - Multiple Output Neural Network
21:47
The Hidden Layer Neural Network
02:37
Coding : The Hidden Layer Neural Network
18:37
Comparing and Finding Error
01:52
Coding : Finding Error
07:50
Understanding data representation in Machine Learning
01:18
Coding : Brute-force Learning
16:34
Introduction to Gradient Descent
03:16
Functional Description of a Biological Neuron
02:08
+ Introduction to Neural Network (Part 2)
6 lectures 01:32:35
Case Study : Building a Neural Network to Predict Muscle Gain
09:04
Coding : Normalizing Datasets
15:52
Coding : Random Initialization of Weights
15:32
Understanding Activation Functions
03:41
Coding : Forward Propagation
40:01
Basics of Calculus
08:25
+ Logistic Regression
1 lecture 06:39
Case Study : Building a Neural Network to Detect Cats
06:39
+ Deep Neural Networks
9 lectures 31:28
Internals of a 2 layer Neural Network
03:01
Understanding Computational Graphs
08:50
Updating Parameters Effectively
03:33
Understanding the Importance of Vectorization
09:05
Summary of Back-propagation and Forward-propagation
00:39
Initializing Parameters Effectively
00:38
Understanding Layers and Units
01:12
Understanding the Shapes
03:12
Understanding Broadcasting in Programming
01:18
+ Building A Logistic Regression Model
13 lectures 02:55:09
Coding : Installing Python
03:51
Coding : Installing Python Packages
05:29
Coding : Setting up our project
05:02
Coding : Creating a Helper script
08:29
Coding : Inspecting our dataset
10:31
Coding : Inspecting the dataset Dimensions
09:35
Coding : Pre-processing our dataset
09:23
Coding : Implementing Forward and Backward Propagation
15:59
Coding : Implementing Gradient Descent
05:48
Coding : Implementing the Predictor function
05:00
Coding : Training our Model
27:23
Coding : Testing our Model
16:59
Coding : Building A Deep Learning Library ( Version 1 )
51:40
+ Building Deep Neural Networks From Scratch
8 lectures 02:55:19
Coding : Building A Deep Neural Network Library (Version 1)
51:40
Coding : Implementing a Two-Layer Neural Network (Inspecting the Dataset)
15:18
Coding : Implementing a Two-Layer Neural Network ( Pre-processing the Dataset)
04:52
Coding : Implementing a Two-Layer Neural Network ( Building the Model )
26:00
Coding : Implementing a Two-Layer Neural Network ( Testing the Model)
37:26
Coding : Building A Deep Neural Network Library (Version 2)
19:38
Coding : Implementing a Neural Network with an arbitrary number of Layers
12:28
Coding : Testing the Multi-Layer Neural Network
07:57
+ Convolutional Neural Networks (CNN)
10 lectures 27:13
Introduction to Convolution
06:04
Introduction to 2D Convolution
05:05
Describing ConvNet Layers
01:05
Understanding Padding
04:27
Understanding Striding
01:06
Convolution Over Volume
02:36
Single Layer of a Convolutional Neural Network
02:35
Examining a Complete Convolutional Neural Network
01:48
Understanding the Pooling Layer
01:03
Examining a Complete Convolutional Neural Network with a Pooling Layer
01:24
+ CubeMX 5 & CubeIDE Primer
4 lectures 35:05
Downloading STM32CubeMX and CubeIDE
04:16
Installing STM32CubeMX and CubeIDE
07:25
Installing CubeMX Packages
06:07
Overview of CubeMX 5
17:17