This Repository Contains Solution to the Assignments of the Tensorflow in Practice Specialization from deeplearning.ai on Coursera taught by Laurence Moroney.
TensorFlow is one of the most in-demand and popular open-source deep learning frameworks available today. The DeepLearning.AI TensorFlow Developer Professional Certificate program taught me applied machine learning skills with TensorFlow so I can build and train powerful models.
In this hands-on, four-course Professional Certificate program, I have learned the necessary tools to build scalable AI-powered applications with TensorFlow. After finishing this program, I am able to apply your new TensorFlow skills to a wide range of problems and projects. This program can help me prepare for the Google TensorFlow Certificate exam and bring me one step closer to achieving the Google TensorFlow Certificate.
In the DeepLearning.AI TensorFlow Developer Professional Certificate program, I got hands-on experience through 16 Python programming assignments. By the end of this program, you will be ready to:
- Build and train neural networks using TensorFlow
- Improve your network’s performance using convolutions as you train it to identify real-world images
- Teach machines to understand, analyze, and respond to human speech with natural language processing systems
- Process text, represent sentences as vectors, and train a model to create original poetry!
To achieve this, this program includes 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
Check out the course details here.
If you are a software developer who wants to build scalable AI-powered algorithms, you need to understand how to use the tools to build them. This course is part of the upcoming Machine Learning in Tensorflow Specialization and will teach you best practices for using TensorFlow, a popular open-source framework for machine learning.The Machine Learning course and Deep Learning Specialization from Andrew Ng teach the most important and foundational principles of Machine Learning and Deep Learning. This new deeplearning.ai TensorFlow Specialization teaches you how to use TensorFlow to implement those principles so that you can start building and applying scalable models to real-world problems. To develop a deeper understanding of how neural networks work, we recommend that you take the Deep Learning Specialization.
- Introduction: A conversation with Andrew Ng
- A primer in machine learning
- The “Hello World” of neural networks
- Working through “Hello World” in TensorFlow and Python
- Week 1 - Predicting house price.ipynb
- A conversation with Andrew Ng
- 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
- Week 2 - Classifying Fashion MNIST with MLP.ipynb
- A conversation with Andrew Ng
- What are convolutions and pooling?
- Implementing convolutional layers
- Implementing pooling layers
- Improving the fashion classifier with convolutions
- Walking through convolutions
- Week 3 - Classifying Fashion MNIST with CNN.ipynb
- A conversation with Andrew Ng
- 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
- Outro: Conversation with Andrew
- Week 4 - Classifying emotion with CNN.ipynb
In Course 2 of the deeplearning.ai TensorFlow Specialization, you will learn advanced techniques to improve the computer vision model you built in Course 1. You will 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. Finally, Course 2 will introduce you to transfer learning and how learned features can be extracted from models. The Machine Learning course and Deep Learning Specialization from Andrew Ng teach the most important and foundational principles of Machine Learning and Deep Learning. This new deeplearning.ai TensorFlow Specialization teaches you how to use TensorFlow to implement those principles so that you can start building and applying scalable models to real-world problems. To develop a deeper understanding of how neural networks work, we recommend that you take the Deep Learning Specialization.
- Introduction: A conversation with Andrew Ng
- Training with the cats vs. dogs dataset
- Working through the notebook
- Fixing through cropping
- Looking at accuracy and loss
- Week 1 - Classifying Cats and Dogs.ipynb
- A conversation with Andrew Ng
- 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
- Week 2 - Improving Cats and Dogs Classifier.ipynb
- A conversation with Andrew Ng
- Understanding transfer learning: the concepts
- Coding your own model with transferred features
- Exploring dropouts
- Exploring transfer learning with inception
- Week 3 - Transfer learning (VGG Net).ipynb
- A conversation with Andrew Ng
- 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
- Week 4 - Classifying images of sign languages.ipynb
In Course 3 of the deeplearning.ai TensorFlow Specialization, you will build natural language processing systems using TensorFlow. You will learn to process text, including tokenizing and representing sentences as vectors, so that they can be input to a neural network. You’ll also learn to apply RNNs, GRUs, and LSTMs in TensorFlow. Finally, you’ll get to train an LSTM on existing text to create original poetry! The Machine Learning course and Deep Learning Specialization from Andrew Ng teach the most important and foundational principles of Machine Learning and Deep Learning. This new deeplearning.ai TensorFlow Specialization teaches you how to use TensorFlow to implement those principles so that you can start building and applying scalable models to real-world problems. To develop a deeper understanding of how neural networks work, we recommend that you take the Deep Learning Specialization.
- Introduction: A conversation with Andrew Ng
- Word-based encodings
- Using APIs
- Text to sequence
- Sarcasm, really?
- Working with the Tokenizer
- Week 1.1 - Detecting sarcasm in news headlines with LSTM and CNN.ipynb
- Week 1.2 - Exploring BBC news data.ipynb
- A conversation with Andrew Ng
- The IMDB dataset
- Looking into the details
- How can we use vectors?
- More into the details
- Remember the sarcasm dataset?
- Building a classifier for the sarcasm dataset
- Let’s talk about the loss function
- Pre-tokenized datasets
- Diving into the code
- Week 2.1 - Classifying IMDB reviews data (Embedding + MLP).ipynb
- Week 2.2 - Classifying BBC news into topics (Embedding + Conv + MLP).ipynb
- A conversation with Andrew Ng
- LSTMs
- Implementing LSTMs in code
- A word from Laurence
- Accuracy and Loss
- Using a convolutional network
- Going back to the IMDB dataset
- Tips from Laurence
- Week 3.1 - Classifying IMDB reviews (Embedding + Conv1D).ipynb
- Week 3.2 - Twitter sentiment classification (GloVe).ipynb
- A conversation with Andrew Ng
- Training the data
- Finding what the next word should be
- Predicting a word
- Poetry!
- Laurence the poet
- Week 4 - Poem generation with Bi-directional LSTM.ipynb
In this fourth course, you will learn how to build time series models in TensorFlow. You’ll first implement best practices to prepare time series data. You’ll also explore how RNNs and 1D ConvNets can be used for prediction. Finally, you’ll apply everything you’ve learned throughout the Specialization to build a sunspot prediction model using real-world data! The Machine Learning course and Deep Learning Specialization from Andrew Ng teach the most important and foundational principles of Machine Learning and Deep Learning. This new deeplearning.ai TensorFlow Specialization teaches you how to use TensorFlow to implement those principles so that you can start building and applying scalable models to real-world problems. To develop a deeper understanding of how neural networks work, we recommend that you take the Deep Learning Specialization.
- Introduction: a conversation with Andrew Ng
- Time series examples
- Machine learning applied to time series
- Common patterns in time series
- Introduction to time series
- Train, validation, and test sets
- Metrics for evaluating performance
- Moving average and differencing
- Trailing versus centered windows
- Forecasting
- Week 1 - Create and predict synthetic data with time series decomposition.ipynb
- A conversation with Andrew Ng
- 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
- Week 2.1 - Prepare features and labels.ipynb
- Week 2.2 - Predict synthetic data with Linear Regression.ipynb
- Week 2.3 - Predict synthetic data with MLP.ipynb
- A conversation with Andrew Ng
- Shape of the inputs to the RNN
- Outputting a sequence
- Lambda layers
- Adjusting the learning rate dynamically
- RNNs
- LSTMs
- Coding LSTMs
- More on LSTMs
- Week 3.1 - Finding an optimal learning rate for a RNN.ipynb
- Week 3.2 - LSTM.ipynb
- A conversation with Andrew Ng
- Convolutions
- Bi-directional LSTMs
- Real data – sunspots
- Train and tune the model
- Prediction
- Sunspots
- Combining our tools for analysis