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.
All notebooks in this course can be run in either Google Colab or Coursera Labs. You don’t need a local environment set up to follow the coding exercises. You can simply click the Open in Colab
badge at the top of the ungraded labs while for the assignments, you will be taken automatically to Coursera Labs.
However, if you want to run them on your local machine, the ungraded labs and assignments for each week can be found in this Github repository under the C2 folder. If you already have git installed on your computer, you can clone it with this command:
git clone https://github.com/https-deeplearning-ai/tensorflow-1-public
tensorflow==2.7.0
scikit-learn==1.0.1
pandas==1.1.5
matplotlib==3.2.2
seaborn==0.11.2
Building models for yourself is great, and can be very powerful. But, as you've seen, you can be limited by the data you have on hand. Not everybody has access to massive datasets or the compute power that's needed to train them effectively. Transfer learning can help solve this -- where people with models trained on large datasets train them, so that you can either use them directly, or, you can use the features that they have learned and apply them to your scenario. This is Transfer learning, and you'll look into that this week!
- Master the keras layer type known as dropout to avoid overfitting
- Achieve transfer learning in code using the keras API
- Code a model that implements Keras’ functional API instead of the commonly used Sequential model
- Learn how to freeze layers from an existing model to successfully implement transfer learning
- Explore the concept of transfer learning to use the convolutions learned by a different model from a larger dataset
https://www.youtube.com/watch?v=ARq74QuavAo
Congratulations on finishing Course 2 of this Specialization! Here, you spent a lot of time going over Convolutional Neural Networks:
-
exploring how to use them with large datasets
-
taking advantage of augmentation, dropout, regularization, and transfer learning
-
and of course, looking at the coding considerations between binary or multi-class classification
In Course 3, you'll switch gears and continue with Natural Language Processing, and in particular, work with texts.