Building Machine Learning Solutions with TensorFlow 2.0

Paths

Building Machine Learning Solutions with TensorFlow 2.0

Authors: Janani Ravi, Chase DeHan

Google released TensorFlow 2.0 in October 2019 which uses the dynamic graph and is more Python friendly. There are multiple changes to ensure removal of redundant APIs and better... Read more

What You Will Learn

  • Design and implementation of machine learning solutions using TensorFlow 2.0
  • Designing optimal Data pipelines
  • Applying Tensorflow to more advanced problems spaces, such as image recognition, language modeling, and predictive analytics

Pre-requisites

  • Machine Learning Literacy
  • Python Programming

Beginner

Learn everything you need to know to get started with Tensorflow 2.0.

Getting Started with Tensorflow 2.0

by Janani Ravi

Jul 23, 2020 / 3h 9m

3h 9m

Start Course
Description

TensorFlow has long been a powerful and widely used framework for building and training neural network models. In recent years though other frameworks such as PyTorch have gained popularity specifically due to their intuitive programming model which uses dynamic execution graphs. Now TensorFlow 2.0 offers all the ease of use of other frameworks along with TensorFlow's performance and functionality. TensorFlow's use of the Keras high-level API makes designing and training neural networks very straightforward while eager execution makes prototyping and debugging models simple.

First, you will explore the basic features in TensorFlow 2.0 and how its programming model differs from TensorFlow 1.x versions. You will understand the basic working of a neural network and its active learning unit, the neuron.

Next, you will compare and contrast static and dynamic computation graphs and understand the advantages and disadvantages of working with each kind of graph. You will get hands-on exploring execution in TensorFlow 2.0 in eager execution mode and harness the performance efficiencies of static graphs by using the tf.function decorator to decorate ordinary Python functions.

You will then learn how a neural network is trained using gradient descent optimization and how the GradientTape() library in TensorFlow calculates gradients automatically during the training phase of your neural network model.

Finally, you will learn how different APIs in Keras lend themselves to different use-cases. Sequential models consisting of layers stacked one on top of the other are simple and have long been supported by Keras. You will also explore the Functional API and model subclassing in Keras and then use these APIs to build regression as well as classification models

When you’re finished with this course, you will have the skills and knowledge to harness the computational power of the TensorFlow 2.0 framework and choose between the different model-building strategies available in Keras.

Table of contents
  1. Course Overview
  2. Exploring the TensorFlow 2.0 Framework
  3. Understanding Dynamic and Static Computation Graphs
  4. Computing Gradients for Model Training
  5. Using the Sequential API in Keras
  6. Using the Functional API and Model Subclassing in Keras

Intermediate

Learn how to design data pipelines and implement hyperparameter tuning for Tensorflow 2.0.

Designing Data Pipelines with TensorFlow 2.0

by Chase DeHan

Mar 12, 2020 / 1h 53m

1h 53m

Start Course
Description

TensorFlow 2.0 has made it easier to manage data pipelines with tf.data through their simplified and unified interface. In this course, Designing Data Pipelines with TensorFlow 2.0, you’ll learn to leverage the performance improvements from the TensorFlow data module. First, you’ll discover how to load data into TensorFlow. Next, you’ll explore prepping data for model training and feature engineering. Finally, you’ll learn how to leverage the performance optimizations of the data pipeline. When you’re finished with this course, you’ll have the skills and knowledge of building data pipelines needed to have data ready for model training in TensorFlow.

Table of contents
  1. Course Overview
  2. Evaluating TensorFlow Capabilities
  3. Loading Data in TensorFlow
  4. Prepping Data
  5. Optimizing Performance of Pipelines

Advanced

Learn how to build a machine learning workflow with Keras and Tensorflow 2.0.

Build a Machine Learning Workflow with Keras TensorFlow 2.0

by Janani Ravi

Jun 2, 2020 / 3h 15m

3h 15m

Start Course
Description

Keras shot to popularity some years ago, but in response to the rise of other deep learning frameworks such as PyTorch, Keras has transformed itself into a tightly-connected part of the TensorFlow 2.0 ecosystem.

In this course, Build a Machine Learning Workflow with Keras Tensorflow 2.0, you will see how to harness the combination of the Keras APIs and the underlying power of TensorFlow 2.0

First, you will learn how different APIs in Keras lend themselves to different use cases, like sequential models consisting of stacked layers, high-level APIs contained in tf.keras, and the first-class support for TensorFlow-specific functionality.

Next, you will discover how more complex types of models can be constructed using the functional API which is designed to create callable models - a change from the usual, object-oriented paradigm underlying most deep learning models.

Finally, you will explore how model subclassing is implemented in Keras - which is a great way of implementing the forward pass of a model imperatively, how custom layers work - which offer a high level of flexibility and can be used to define layers that hold state, and best practices that will help you get the most out of your custom layers.

When you are finished with this course, you will have the skills and knowledge to choose between the many different model-building strategies available in Keras, and to use the appropriate strategy to build a robust model that leverages the underlying power of TensorFlow 2.0.

Table of contents
  1. Course Overview
  2. Understanding Keras Models and Layers
  3. Building Regression and Classification Models
  4. Building Image Classification Models
  5. Building Unsupervised Machine Learning Models
  6. Implementing Custom Layers and Models