TensorFlow Advanced Techniques Specialization

Course 1: Custom Models, Layers, and Loss Functions with TensorFlow

This is the first course of the TensorFlow: Advanced Techniques Specialization.

Week 1: Functional API

Compare Functional and Sequential APIs, discover new models you can build with the Functional API, and build a model that produces multiple outputs including a Siamese network.

Week 2: Custom Loss Functions

Build custom loss functions (including the contrastive loss function used in a Siamese network) in order to measure how well a model is doing and help your neural network learn from training data.

Week 3: Custom Layers

Build off of existing standard layers to create custom layers for your models, customize a network layer with a lambda layer, understand the differences between them, learn what makes up a custom layer, and explore activation functions.

Week 4: Custom Models

Build off of existing models to add custom functionality, learn how to define your own custom class instead of using the Functional or Sequential APIs, build models that can be inherited from the TensorFlow Model class, and build a residual network (ResNet) through defining a custom model class.

Bonus: Callbacks

Customize your model outputs and its behavior during training through custom callbacks, implement a custom callback to stop training once the callback detects overfitting, use a model checkpoint to save parameters during training, use the EarlyStopping callback to keep a model from overfitting, and become familiar with where you might want to create a custom callback.


Course 2: Custom and Distributed Training with TensorFlow

This is the second course of the TensorFlow: Advanced Techniques Specialization.

Week 1: Differentiation and Gradients

Learn about Tensor objects, the fundamental building blocks of TensorFlow, understand the difference between the eager and graph modes in TensorFlow, and learn how to use a TensorFlow tool to calculate gradients.

Week 2: Custom Training

Build your own custom training loops using GradientTape and TensorFlow Datasets to gain more flexibility and visibility with your model training.

Week 3: Graph Mode

Learn about the benefits of generating code that runs in graph mode, take a peek at what graph code looks like, and practice generating this more efficient code automatically with TensorFlow’s tools.

Week 4: Distributed Training

Harness the power of distributed training to process more data and train larger models, faster, get an overview of various distributed training strategies, and practice working with a strategy that trains on multiple GPU cores, and another that trains on multiple TPU cores.


Course 3: Advanced Computer Vision with TensorFlow

This is the third course of the TensorFlow: Advanced Techniques Specialization.

Week 1: Introduction to Computer Vision

Explore image classification, image segmentation, object localization, and object detection. Apply transfer learning to object localization and detection.

Week 2: Object Detection

Apply object detection models such as regional-CNN and ResNet-50, customize existing models, and build your own models to detect, localize, and label your own rubber duck images.

Week 3: Image Segmentation

Implement image segmentation using variations of the fully convolutional network (FCN) including U-Net and Mask-RCNN to identify and detect numbers, pets, zombies, and more.

Week 4: Visualization and Interpretation

Identify which parts of an image are being used by your model to make its predictions using class activation maps and saliency maps and apply these ML interpretation methods to inspect and improve the design of a famous network, AlexNet.


Course 4: Generative Deep Learning with TensorFlow

This is the fourth course of the TensorFlow: Advanced Techniques Specialization. In this course, you will:


Learn neural style transfer using transfer learning: extract the content of an image (eg. swan), and the style of a painting (eg. cubist or impressionist), and combine the content and style into a new image.

Build simple AutoEncoders on the familiar MNIST dataset, and more complex deep and convolutional architectures on the Fashion MNIST dataset, understand the difference in results of the DNN and CNN AutoEncoder models, identify ways to de-noise noisy images, and build a CNN AutoEncoder using TensorFlow to output a clean image from a noisy one.

Explore Variational AutoEncoders (VAEs) to generate entirely new data, and generate anime faces to compare them against reference images.

Learn about GANs; their invention, properties, architecture, and how they vary from VAEs, understand the function of the generator and the discriminator within the model, the concept of 2 training phases and the role of introduced noise, and build your own GAN that can generate faces.