I’m incredibly passionate about teaching and ecstatic that in the last few years, I have been able to scale to millions of students via MOOC platforms like Coursera, edX, and Udacity.
This page lists the major courses I have worked on, and I hope you can find something interesting to learn from them.
I’m always interested in new teaching opportunities at Universities. If you’re looking for a guest lecturer or adjunct professor, please email me!
Tiny ML at edX with Harvard University
I was honored to be a part of this specialization taught by Harvard University. The goal is to widen access to education about Machine Learning and AI on mobile and embedded systems. In the courses you’ll learn about:
- Fundamentals of machine learning, deep learning, and embedded devices.
- How to gather data effectively for training machine learning models.
- How to use Python to train and deploy tiny machine learning models.
- How to optimize machine learning models for resource-constrained devices.
- How to conceive and design your own tiny machine learning application.
- How to program in TensorFlow Lite for Microcontrollers.
TensorFlow: Advanced Techniques
Following on from the previous two specializations taught alongside Dr. Andrew Ng from deeplearning.ai, this specialization teaches you how to peel open TensorFlow so you can start exploring it for more advanced scenarios. We introduce the features of TensorFlow that provide learners with more control over their model architecture and gives them the tools to create and train advanced ML models. This specialization is for early and mid-career software and machine learning engineers with a foundational understanding of TensorFlow, seeking to expand their knowledge and skillset by learning advanced TensorFlow features to build robust models.
It consists of four courses:
- Custom Models, Layers, and Loss Functions with TensorFlow
- Custom and Distributed Training with TensorFlow
- Advanced Computer Vision with TensorFlow
- Generative Deep Learning with TensorFlow
TensorFlow: Data and Deployment
With the success of the TensorFlow: In Practice specialization, we always knew we wanted to create a specialization geared towards getting models into people’s hands. From this, TensorFlow: Data and Deployment was born!
This specialization teaches you how to deploy models in the browser, Android, iOS, embedded systems with Raspberry Pi. It takes you through understanding how to use your data with pipelines, concluding with an exploration of advanced deployment scenarios like TensorFlow Serving and Federated Learning.
The courses are:
Browser-based models with TensorFlow.js Device-based models with TensorFlow Lite Data Pipelines with TensorFlow Data Services Advanced Deployment Services with TensorFlow
TensorFlow: In Practice
Later rebranded to the Coursera Professional Certificate for TensorFlow, this specialization is the defacto introduction to Machine Learning with TensorFlow. It takes you from the most basic principles through a deep understanding of the most common scenarios: Computer Vision, Natural Language Processing, and Sequence Modelling.
It was my first time teaching alongside Dr. Andrew Ng, and certainly one of the most rewarding and enjoyable experiences of my life!
It’s comprised of the following courses:
Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning Convolutional Neural Networks in TensorFlow Natural Language Processing in TensorFlow Sequences, Time Series, and Prediction
In the first few months of 2020, as a Covid-19 lockdown stretched on, I wanted to create a free training course that would give people the basic skills of ML with TensorFlow. It would be hosted on YouTube and comprised of short lectures on common ML topics. These would be complete with hands-on code labs so you could roll your sleeves up and try this stuff out for yourself. I’m delighted to see that several hundred thousand people have used this material, and various services have made it available beyond YouTube in several other countries!