Google is committed to advancing racial equity for Black communities. See how.

Master your path

To become an expert in machine learning, you first need a strong foundation in four learning areas: coding, math, ML theory, and how to build your own ML project from start to finish.

Begin with TensorFlow's curated curriculums to improve these four skills, or choose your own learning path by exploring our resource library below.

The four areas of machine learning education

When beginning your educational path, it's important to first understand how to learn ML. We've broken the learning process into four areas of knowledge, with each area providing a foundational piece of the ML puzzle. To help you on your path, we've identified books, videos, and online courses that will uplevel your abilities, and prepare you to use ML for your projects. Start with our guided curriculums designed to increase your knowledge, or choose your own path by exploring our resource library.

  • Coding skills: Building ML models involves much more than just knowing ML concepts—it requires coding in order to do the data management, parameter tuning, and parsing results needed to test and optimize your model.

  • Math and stats: ML is a math heavy discipline, so if you plan to modify ML models or build new ones from scratch, familiarity with the underlying math concepts is crucial to the process.

  • ML theory: Knowing the basics of ML theory will give you a foundation to build on, and help you troubleshoot when something goes wrong.

  • Build your own projects: Getting hands on experience with ML is the best way to put your knowledge to the test, so don't be afraid to dive in early with a simple colab or tutorial to get some practice.

TensorFlow curriculums

Start learning with one of our guided curriculums containing recommended courses, books, and videos.

For beginners
Basics of machine learning with TensorFlow

Learn the basics of ML with this collection of books and online courses. You will be introduced to ML with scikit-learn, guided through deep learning using TensorFlow 2.0, and then you will have the opportunity to practice what you learn with beginner tutorials.

For intermediate level & experts
Theoretical and advanced machine learning with TensorFlow

Once you understand the basics of machine learning, take your abilities to the next level by diving into theoretical understanding of neural networks, deep learning, and improving your knowledge of the underlying math concepts.

For beginners
Specialization: Basics of TensorFlow for JavaScript development

Learn the basics of developing machine learning models in JavaScript, and how to deploy directly in the browser. You will get a high-level introduction on deep learning and on how to get started with TensorFlow.js through hands-on exercises.

Educational resources

Choose your own learning path, and explore books, courses, videos, and exercises recommended by the TensorFlow team to teach you the foundations of ML.


Reading is one of the best ways to understand the foundations of ML and deep learning. Books can give you the theoretical understanding necessary to help you learn new concepts more quickly in the future.

AI and Machine Learning for Coders: A Programmer's Guide to Artificial Intelligence, by Laurence Moroney

This introductory book provides a code-first approach to learn how to implement the most common ML scenarios, such as computer vision, natural language processing (NLP), and sequence modeling for web, mobile, cloud, and embedded runtimes.

Deep Learning with Python, by Francois Chollet

This book is a practical, hands-on introduction to Deep Learning with Keras.

Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition, by Aurélien Géron

Using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—this book helps you gain an intuitive understanding of the concepts and tools for building intelligent systems.

Deep Learning: An MIT Press Book, by Ian Goodfellow, Yoshua Bengio, and Aaron Courville

This Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general, and deep learning in particular.

Neural Networks and Deep Learning, by Michael Nielsen

This book provides a theoretical background on neural networks. It does not use TensorFlow, but is a great reference for students interested in learning more.

Deep Learning with JavaScript by Shanqing Cai, Stanley Bileschi, Eric D. Nielsen with Francois Chollet

Written by the main authors of the TensorFlow library, this book provides fascinating use cases and in-depth instruction for deep learning apps in JavaScript in your browser or on Node.

Multi-part online courses

Taking a multi-part online course is a good way to learn the basic concepts of ML. Many courses provide great visual explainers, and the tools needed to start applying machine learning directly at work, or with your personal projects.

Introductory online courses TensorFlow: Data and Deployment Specialization

You've learned how to build and train models. Now learn to navigate various deployment scenarios and use data more effectively to train your model in this four-course Specialization.

Introductory online courses Intro to TensorFlow for AI, ML, and Deep Learning

Developed in collaboration with the TensorFlow team, this course is part of the TensorFlow in Practice Specialization and will teach you best practices for using TensorFlow.

Introductory online courses
Udacity: Intro to TensorFlow for Deep Learning

In this online course developed by the TensorFlow team and Udacity, you'll learn how to build deep learning applications with TensorFlow.

Introductory online courses TensorFlow in Practice Specialization

In this four-course Specialization taught by a TensorFlow developer, you'll explore the tools and software developers use to build scalable AI-powered algorithms in TensorFlow.

Introductory online courses Deep Learning Specialization

In five courses, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects and build a career in AI. You will master not only the theory, but also see how it is applied in industry.

Introductory online courses
Stanford course CS231n: Convolutional Neural Networks for Visual Recognition

This course is a deep dive into the details of deep learning architectures with a focus on learning end-to-end models for computer vision tasks, particularly image classification. Explore lecture videos, slides, and past syllabus notes from previous iterations of the course.

Introductory online courses
MIT course 6.S191: Introduction to Deep Learning

In this course from MIT, you will gain foundational knowledge of deep learning algorithms and get practical experience in building neural networks in TensorFlow.

Other resources

For mobile and web developers and users wanting to build production pipelines, we've gathered our favorite resources to help you get started including our TensorFlow libraries and frameworks specific to your needs.

Introductory online courses
Deep Learning in JS by Ashi Krishnan

Using deeplearn.js, find out how deep learning systems learn and examine how they think.

Introductory online courses
Getting started with TensorFlow.js by TensorFlow

A 3-part series that explores both training and executing machine learned models with TensorFlow.js, and shows you how to create a machine learning model in JavaScript that executes directly in the browser.

Introductory online courses
TensorFlow.js: Intelligence and Learning Series by Coding Train

Part of a larger series on machine learning and building neural networks, this video playlist focuses on TensorFlow.js, the core API, and how to use the JavaScript library to train and deploy ML models.

Introductory online courses
TensorFlow.js Deep Learning with JavaScript by Deeplizard

This series introduces the concept of client-side artificial neural networks. Learn about client-server deep learning architectures, converting Keras models to TFJS models, serving models with Node.js, training and transfer learning in the browser and more.

Introductory online courses
TensorFlow Extended: Real World Machine Learning in Production

A five part series from the TensorFlow team on using TensorFlow Extended (TFX) to create your own production ML pipelines.

Introductory online courses
Machine Learning on Your Device: The Options (Google I/O'19)

This session from Google I/O will demystify the various options available for using machine learning to enhance mobile apps and edge devices. Learn how TensorFlow Lite can be used to train models and how to use them across a variety of devices.

Math concepts

To go deeper with your ML knowledge, these resources can help you understand the underlying math concepts necessary for higher level advancement.

Math concepts
Google Developers Machine Learning Crash Course

The Machine Learning Crash Course with TensorFlow APIs is a self-study guide for aspiring machine learning practitioners. It features a series of lessons with video lectures, real-world case studies, and hands-on practice exercises.

Math concepts
Coursera: Mathematics for Machine Learning Specialization

This online specialization from Coursera aims to bridge the gap of mathematics and machine learning, getting you up to speed in the underlying mathematics to build an intuitive understanding, and relating it to Machine Learning and Data Science.

Math concepts
Deep learning, by 3blue1brown

3blue1brown centers around presenting math with a visuals-first approach. In this video series, you will learn the basics of a neural network and how it works through math concepts.

Math concepts
Essence of Linear Algebra, by 3blue1brown

A series of short, visual videos from 3blue1brown that explain the geometric understanding of matrices, determinants, eigen-stuffs and more.

Math concepts
Essence of Calculus, by 3blue1brown

A series of short, visual videos from 3blue1brown that explain the fundamentals of calculus in a way that give you a strong understanding of the fundamental theorems, and not just how the equations work.

Math concepts
MIT course18.06 : Linear Algebra

This introductory course from MIT covers matrix theory and linear algebra. Emphasis is given to topics that will be useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, similarity, and positive definite matrices.

Math concepts
MIT course 18.01: Single Variable Calculus

This introductory calculus course from MIT covers differentiation and integration of functions of one variable, with applications.

Math concepts
Seeing Theory

A visual introduction to probability and statistics.

Math concepts
An Introduction to Statistical Learning, with Applications in R by James, G., Witten, D., Hastie, T., and Tibshirani, R.

This book provides an accessible overview of the field of statistical learning, an essential toolset for making sense of the vast and complex world of datasets needed to train models in machine learning.

Human-centered AI

When designing an ML model, or building AI-driven applications, it's important to consider the people interacting with the product, and the best way to build fairness, interpretability, privacy, and security into these AI systems.

Human-centered AI
Responsible AI

Learn how to integrate Responsible AI practices into your ML workflow using TensorFlow.

Human-centered AI
People + AI guidebook

This guidebook from Google will help you build human-centered AI products. It'll enable you to avoid common mistakes, design excellent experiences, and focus on people as you build AI-driven applications.

Human-centered AI
Intro to Fairness in Machine Learning module

This one-hour module within Google's MLCC introduces learners to different types of human biases that can manifest in training data, as well as strategies for identifying, and evaluating their effects.