This repository contains notebooks from the Coursera specialization TensorFlow in Practice.
The specialization enables its learners to discover the tools software developers use to build scalable AI-powered algorithms in TensorFlow, a popular open-source machine learning framework.
There are four courses in the Specialization.
Course 1: Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
Learn how to use TensorFlow to implement the most important and foundational principles of Machine Learning and Deep Learning so that you can start building and applying scalable models to real-world problems.
- A primer in machine learning
- The “Hello World” of neural networks
- Exercise 1 - Predicting House Price
- An introduction to computer vision
- Writing code to load training data
- Coding a computer vision neural network
- Walk through a notebook for computer vision
- Using callbacks to control training
- Walk through a notebook with callbacks
- Exercise 2 - Handwriting Recognition
- What are convolutions and pooling?
- Implementing convolutional layers
- Implementing pooling layers
- Improving the fashion classifier with convolutions
- Walking through convolutions
- Exercise 3 - Classifying Fashion MNIST with CNN.ipynb
- Understanding ImageGenerator
- Defining a ConvNet to use complex images
- Training the ConvNet with fit_generator
- Walking through developing a ConvNet
- Walking through training the ConvNet with fit_generator
- Adding automatic validation to test accuracy
- Exploring the impact of compressing images
- Exercise 4 - Classifying emotion with CNN
Learn advanced techniques to improve computer vision models. Explore how to work with real-world images in different shapes and sizes, visualize the journey of an image through convolutions to understand how a computer “sees” information, plot loss and accuracy, and explore strategies to prevent overfitting, including augmentation and dropout. Also learn transfer learning and how learned features can be extracted from models.
- Training with the cats vs. dogs dataset
- Walking through the notebook
- Fixing through cropping
- Looking at accuracy and loss
- Exercise 1 - Classifying Cats and Dogs
- Introducing augmentation
- Coding augmentation with ImageDataGenerator
- Demonstrating overfitting in cats vs. dogs dataset
- Adding augmentation to cats vs. dogs dataset
- Exploring augmentation with horses vs. humans dataset
- Exercise 2 - Improving Cats and Dogs Classifier
- Understanding transfer learning: the concepts
- Coding your own model with transferred features
- Exploring dropouts
- Exploring transfer learning with inception
- Exercise 3 - Transfer Learning
- Moving from binary to multi-class classification
- Exploring multi-class classification with the rock paper scissors dataset
- Training a classifier with the rock paper scissors dataset
- Testing the rock paper scissors classifier
- Exercise 4 - Classifying Images of Sign Languages
Build natural language processing systems using TensorFlow. Learn to process text, including tokenizing and representing sentences as vectors, so that they can be input to a neural network. Also learn to apply RNNs, GRUs, and LSTMs in TensorFlow. Finally, train an LSTM on existing text to create original poetry!
- Word-based encodings
- Using APIs
- Text to sequence
- Working with the Tokenizer
- Exercise 1 - Exploring BBC News Data
- The IMDB dataset
- How can we use vectors?
- Building a classifier for the sarcasm dataset
- Let’s talk about the loss function
- Pre-tokenized datasets
- Classifying IMDB Reviews Data
- Exercise 2 - Classifying BBC News into Topics
- Multi-layer LSTM
- Multi-layer GRU
- IMDb Reviews with GRU
- LSTM on Sarcasm Data
- Conv1D on Sarcasm Data
- Exploring Overfitting in NLP
- Training the data
- Finding what the next word should be
- Poetry!
- Exercise 4 - Poem generation with Bi-directional LSTM
Learn how to build time series models in TensorFlow. Implement best practices to prepare time series data. Explore how RNNs and 1D ConvNets can be used for prediction. Finally, apply everything learned throughout the Specialization to build a sunspot prediction model using real-world data!
- Time series examples
- Machine learning applied to time series
- Common patterns in time series
- Coding up time series
- Train, validation, and test sets
- Metrics for evaluating performance
- Moving average and differencing
- Trailing versus centered windows
- Forecasting
- Exercise 1 - Create and predict synthetic data series
- Preparing features and labels
- Feeding a windowed dataset into a neural network
- Single layer neural network
- Machine learning on time windows
- Prediction
- More on single-layer network
- Deep neural network training, tuning, and prediction
- Exercise 2 - Prediction using Deep Neural Network
- Shape of the inputs to the RNN
- Outputting a sequence
- Lambda layers
- Adjusting the learning rate dynamically
- RNNs
- LSTMs
- Exercise 3 - Predict Using LSTM
- Convolution with LSTM
- Bi-directional LSTMs
- Real data – sunspots
- Train and tune the model
- Sunspots Prediction using only DNN
- Sunspots Prediction using Conv1D, LSTM, and DNN
- Sunspots Prediction using Real-world Data
Here is my certificate from the Specialization.
Specialization description on Coursera website:
In this four-course Specialization, you’ll explore exciting opportunities for AI applications. Begin by developing an understanding of how to build and train neural networks. Improve a network’s performance using convolutions as you train it to identify real-world images. You’ll teach machines to understand, analyze, and respond to human speech with natural language processing systems. Learn to process text, represent sentences as vectors, and input data to a neural network. You’ll even train an AI to create original poetry!