Skip to content

enzofali/The-Ultimate-Google-TensorFlow-Developer-Certificate-Exam-Study-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 

Repository files navigation

The Ultimate Google TensorFlow Developer Certificate Study Guide

The objective of this repository is to detail the necessary resources to pass the TensorFlow Developer Certificate in the shortest time possible, minimizing the effort required by centralizing relevant information. You will find study materials, course references, and notebooks examples. Keep in mind that the specified resources aren't free, so by following this guide, you must have a minimum budget. Let's begin!

Honorable Mentions

Consider the Tensorflow Certification Study Guide laid the foundation for this repository. That repo is excellent and includes more information and available materials.

Required Knowledge

Courses

Before moving on to Deep Learning, there are some basic concepts you should manage with ease. First, you need to achieve the minimum understanding of Mathematics (Multivariable Calculus, Linear Algebra, and Probability and Statistics). On the other hand, you need to have strong Python programming skills. Below are the recommended materials to achieve the necessary knowledge in these areas.

Math Courses:

Programing with Python Courses:

Now that you have achieved the minimum knowledge requirements, let's jump to the 🌶️ things.

First of all, even though it is not necessary to know about Machine Learning to obtain the Tensorflow Developer Certificate (only Deep Learning is required), the following course turns out to be optional on this path. Nevertheless, it is an excellent specialization to start with, and I strongly recommend doing it.

  1. Machine Learning Specialization (opcional)

Now, the following specializations are essential to obtain the certificate. The Deep Learning Specialization and The Tensorflow Developer Specialization are indeed complementary. The Deep Learning Specialization develops all the necessary concepts by adopting a more theoretical approach. While the Tensorflow Developer Specialization adopts a more practical and applied approach, applying everything learned in the previous specialization and putting hands into practice.

  1. Deep Learning Specialization

  2. Coursera Tensorflow Developer Certificate

Deeper Dive into Tensorflow Developer Certificate Specialization

We will be particularly interested in further developing the material given in this specialization. That is because the Google TensorFlow Developer Certification exam is based on this specialization, so completing it is crucial. All the material listed below is available in the Deep Learning AI public repo: DeepLearning.AI TensorFlow Developer Public Repo. Below you can see all the notebooks given in the courses, excluding their weekly assignments, which are a good practice resource for exam preparation.

Finally, the ⭐ indicates the highly recommended notebooks to review before taking the exam. Try to focus on implementing and writing the models on your own, tuning the hyperparameters, and enhancing the model predictions with the corresponding datasets, like manually defining the learning rate decay. These notebooks are a faithful representation of how the exam exercises are developed, so it's important to achieve good results in their corresponding metrics.

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

More Study Resource

At this point, we have already covered almost all of the exam topics that you need to know. However, in this section, complementary materials will be developed and, as in previous, we will indicate with ⭐ the must review resources.

Let's start with the most generic material. The official TensorFlow guide (Introduction to TensorFlow) provided by Google gives all the necessary information and presents much more content. Although if we consider all its content, it far exceeds the certification issues, it is always good to have it at hand.

Next, the content of another of my repositories is presented. The TensorFlow Developer Certificate Material repo contains the material that I made while studying for the TensorFlow Developer Certification, which covers everything given in the Coursera Tensorflow Developer Certificate and adds a Multi-Variate Time Series Forecasting notebook. I hope you enjoy the content and find it useful.

Convolutional Neural Network

Natural Language Processing

Time Series Forecasting

Useful Tips and Tricks

Finally, this section presents a series of recommendations that are useful to know before taking the exam.

To begin with, the Certificate Handbook is the most remarkable material in this section. It is important to read it in its entirety and fully complete the Skills Checklist.

To consult all the relevant information regarding the exam, you can resort to the official page of the Certification.

The exam takes place in a PyCharm environment. Therefore, it is important to do the setup prior to the test and run the models locally with the corresponding versions specified below.

Environment Setup:

  • PyCharm 2021.3 (either PyCharm Professional or PyCharm Community Edition)
  • Python 3.8.0
  • tensorflow==2.9.0
  • tensorflow-datasets==4.6.0
  • Pillow==9.1.1
  • pandas==1.4.2
  • numpy==1.22.4
  • scipy==1.7.3

The exam lasts 5 hours and has a total of 5 exercises where the exercises are incremental in difficulty. The first exercise (Number 1) is the easiest, and the last (Number 5) is the hardest.

In turn, the minimum score per exercise to pass the exam is 3/5, so beware if any score is below 3. The scores are available in real-time, so you will know your exam score before handing it in.

The exam only evaluates the saved model (model.h5) where, based on the model, it performs forecasting and, based on the metrics achieved in its test data set, assigns a result. Therefore, it is possible to train and download the model in Google Colab as long as you upload the train and test data to Colab.

From the above, we can highlight two things.

  • First, the exam score is subject to randomness. So it is possible to obtain a good score by having a bad model that makes good predictions in the evaluating subset of data.
  • Second, using Google Colab and your computer, it is possible to train two models from different exercises at the same time, optimizing the time spent on the model's training.

You must take special care of the dimensionality of the model's output. It may be that it trains locally, but if it does not have the specified dimensionality for each exercise, the system will not be able to evaluate it.

Finally, the model cannot be excessively large. If so, the system will not evaluate it.

FAQs

Please PR the repo for more FAQs