Want To Get TensorFlow Certified?

My tips for passing the TensorFlow Developer Certificate exam

Want To Get TensorFlow Certified?
Photo by Annie Spratt on Unsplash

Last Saturday, I took the TensorFlow Developer Certification exam, and I am thrilled to tell you I passed. During my preparation, I used several articles from developers that wrote about their experiences. I thought it would be fair if I would do the same.

This article describes my experience and tips for the exam.


Why did I take the exam?

I want to learn to build applications that use machine learning. I have been developing all kinds of applications for over twenty years. Machine learning always had my interest but I never came around to study it.

I like to have a clear goal when studying something. A certification or exam forces me to really internalize the study material instead of just glaring over the material.

I choose to study TensorFlow instead of another framework such as PyTorch because TensorFlow offers this certification. Currently, PyTorch does not.


Study Material

I like to use various courses and materials when studying. It helps me to have multiple teachers explain the same concepts. I used the following resources during the study.

This PDF describes all the skills needed to pass the exam. It describes all the criteria in great detail. After you registered, confirmed your identity, and paid for your exam ($100), you can download another PDF that describes the instructions for taking the exam in more detail. The content of that document is confidential, and therefore I cannot share it.

The course material corresponds with the required skills mentioned in the certificate handbook. Laurence Moroney and Andrew Ng teach the course. This course is one of the best resources to prepare for the exam.

If you can’t afford it, most of the material is also available for free on YouTube.

This is a free course offered on Udacity by TensorFlow. I watched a couple of topics that I found more difficult again on Udacity. The topics are the same as on Coursera but in less detail.

This course on DataCamp gives an excellent introduction to Deep Learning with examples. It explains subjects like forward and backward propagation using simple to understand examples.

I used several Kaggle competitions to test my knowledge and see if I could build a model that would get me on the leaderboard. Later in the article, I will list some competitions I used.

Jeff Heaton is a data scientist and adjunct instructor at Washington University. He creates various YouTube videos that explain Deep Learning subjects. I found them useful and fun to watch.

The one book that I used for preparation. It is really a brilliant book with lots of examples. The book is over 700 pages, but not all chapters are relevant for the exam.

The relevant chapters are 10, 11, 12, 13, 14, 15, and 16.

  • Several articles from developers who previously took the exam

How I passed the TensorFlow Developer Certification Exam by Daniel Bourke

How I Prepared for the TensorFlow Developer Certification by Margaret Maynard-Reid

I just passed the TensorFlow certification… here are some tips for you by Roberto Barbero


The exam itself

My experience during the exam.

PyCharm

You have to take the exam with PyCharm. PyCharm is a cross-platform IDE for Windows, macOS, and Linux. There are three editions: Professional, Community, and Edu. The Community and Edu editions are open-source projects, and they are free, but they have fewer features. You can use any edition with the exam.

Exam plug-in

You start and end the exam via a plug-in you have to install in Pycharm. The developer handbook describes how to install this plug-in in more detail.

Python and Tensorflow versions

When I took the exam, it used Python 3.8.0 and Tensorflow 2.3.0. At that time, those were not the most recent versions. This meant that when creating a new project in Pycharm during the study, you have to make sure that you explicitly select the correct versions.

If you already use these versions during your study, you won’t get any surprises during the exam. Make sure to carefully read the preparation handbook as I expect that Google will update these versions in the future.

GPU Version Matrix

If you are lucky to have a machine with a GPU, you can use it with TensorFlow. TensorFlow, the NVidia drivers, and the CUDA toolkit are strongly coupled. So for TensorFlow 2.3.0, you have to use a different NVidia CUDA Toolkit than with TensorFlow 2.4.1. Make sure that you have the correct version installed. You don’t want to start your exam and find out that you have to install a different Cuda version.

This matrix on the TensorFlow website shows the supported combinations.

Time-limit

The maximum time that you can spend on the exam is five hours. As I stated before five hours is more than enough time to finish the exam.

Identification

Before you can do the exam you have to upload your identification. The identification must first be verified before you can start the exam. I uploaded my identification one week before I was planning to do the exam.

Costs

The exam costs 100$

What resources can be used during the exam?

You may use whatever learning resources you would normally use during your ML development work.


My tips for taking the exam

I got a couple of tips for you if you are planning to take the exam.

Create a base model first

During the exam, first, create a base model for each question and optimize later. This to make sure that you have an answer for each question even if you run out of time. I did the exam on my laptop and had more than enough time to complete the exam.

Use these callbacks

Use the following code snippet while training your model. It defines three callbacks that can help you with the exam.

The EarlyStopping callback stops training your model if the accuracy does not improve anymore. Make sure that you measure the correct variable with the monitorparameter. Patience sets the number of epochs to wait before stopping if no progress is made.

The ReduceLROnPlateau callback automatically reduces the learning rate if it doesn’t see any improvement. I learned this while studying shared notebooks on Kaggle. It was not mentioned in one of the courses.

ModelCheckpoint automatically saves the model after an epoch if the accuracy improves. Sometimes, the model at the end of the training is less accurate than the model one or two epochs before. If you use this callback, it will save the most accurate one.

Test your environment

Make sure that you test your development environment. I trained various models and examples using Python 3.8.0 and Tensorflow 2.3.0 to make sure that everything worked as expected.

Study using Pycharm

I recommend directly using Pycharm during your study. Most courses offer examples and assignments use Jupyter Notebooks. Although this works great for demonstration, you won’t use them during the exam.

Instead of filling in the code gaps in the course exercises, try to recreate them from scratch using Pycharm.

Join a couple of Kaggle competitions

If you don’t use Deep Learning during your day job but still want to get real experience, you can use Kaggle. The people that compete on Kaggle are helpful and constructive. They share various notebooks with their best solutions. There are many introductions competitions that you can join to test your knowledge. Although these competitions have ended, you still can score your model.

For example:


Conclusion

As I have stated before, for me, the real learning just started. I enjoyed studying for the TensorFlow Developer Certificate. Having a clear goal and deadline forced me to learn. Using Kaggle has helped me find things that the courses did not cover. These things were really helpful during the exam.

As all the other certified developers have helped me prepare for the exam, I hope this article helped you. If you are planning to do the exam, good luck and share your result!

Thank you for reading!