How to Pass the TensorFlow Developer Certification Exam

How to Pass the TensorFlow Developer Certification Exam

Author: Daniel Bourke

Published on: 06/06/2020

Translator: Fang Xingxuan

This article is 5600 words long and is recommended to be read in 10 minutes.

This article summarizes the pre-exam preparation and answers to questions that may arise during the exam based on the author’s experience of taking the TensorFlow certification exam.

Tags: Machine Learning | TensorFlow | Data Science | Artificial Intelligence

How to Pass the TensorFlow Developer Certification Exam

Original author

At the beginning of May, I decided to take the TensorFlow Developer Certification exam.
Therefore, I created a study plan to enhance my skills https://www.mrdbourke.com/ml-study-may-2020/ and took the certification exam on June 3.
And I! Passed!
This article will share how I did it. You can do it too!
What is TensorFlow?
TensorFlow is an open-source numerical computation framework that allows you to preprocess data, model data (often through deep learning to find patterns), and implement solutions globally.
All of Google’s machine learning services are powered by it. The device you are using is likely already running some form of TensorFlow.
Typically, you can write TensorFlow code using very understandable Python (Python for the exam) or JavaScript (tensorflow.js), which will call a series of functions written in C to execute your instructions (many are numerical computations).
What is the TensorFlow Developer Certification?
The TensorFlow Developer Certification (https://www.tensorflow.org/certificate) is a certification that proves your ability to use TensorFlow. More specifically, it demonstrates your ability to build deep learning models using TensorFlow (Python version) and to complete a series of tasks such as regression, computer vision (finding patterns in images), natural language processing (finding patterns in text), and time series forecasting (predicting future trends based on a series of past events).
Why Obtain the TensorFlow Developer Certification?
My first reason is simple: I wanted to challenge myself and give myself a reason to read a new book (which I will detail later).
Two other reasons are:
  • 1. Acquire the basic skills needed to build machine learning applications.

  • 2. Showcase your skills to potential employers.

Speaking of employment, according to data from Hacker News’s Who’s Hiring page (which lists the skills required for software developer recruitment each month), TensorFlow stands out compared to other deep learning frameworks.

Hacker News’s Who’s Hiring

https://www.hntrends.com/2020/may-big-drop-developer-job-postings.html?compare=TensorFlow&compare=PyTorch&compare=Keras

How to Pass the TensorFlow Developer Certification Exam

It compared the number of mentions of different deep learning frameworks in job postings on Hacker News’s Who’s Hiring page. Note 1: Since TensorFlow 2.x, Keras is essentially part of TensorFlow. Note 2: Due to the current global environment, the overall number of software developer job postings has declined.

I want to make it clear that this certification does not guarantee you a job 100%. However, in today’s world of online learning, where skills are increasingly commoditized, it is a way to showcase your abilities. I believe this skill can enrich your existing personal projects — you can gain foundational knowledge from the courses and specific knowledge through project practice (Courses build foundation knowledge, projects build specific knowledge.).
So how do you prepare for the exam?
How to Prepare for the Exam?
When I decided I wanted to take the exam, I browsed the certification website and read the TensorFlow Developer Certification Handbook.
Through these two resources, I built the following curriculum.

TensorFlow Website:

https://www.tensorflow.org/certificate?hl=zh-cn

Essential Skills Courses for Passing the Exam:
Before I started studying for the exam, I had some experience building multiple projects with TensorFlow, so I was not a complete beginner.
Thus, experienced TensorFlow and deep learning practitioners might complete the curriculum at a similar pace to me (a total of 3 weeks), or perhaps even faster.
Beginners will need to spend as much time as possible. Remember: Learning any valuable skill takes time.
I listed the timeline, costs ($ USD), and the level of help each relevant material provides based on my experience.
If you want to create a curriculum for yourself, I suggest referring to the plan below.
Note: For paid resources, the links I provided are my affiliate links. However, this does not change the price, but if you do purchase the course, I will receive a commission.
  • 1. TensorFlow Developer Certification Handbook

Website:https://www.tensorflow.org/site-assets/downloads/marketing/cert/TF_Certificate_Candidate_Handbook.pdf
Time: 1 hour.
Cost: Free.
Help Level: Essential.
This is the first step. The TensorFlow Developer Handbook outlines the main topics covered in the exam. Repeatedly reading it is very useful. If you are new to TensorFlow and machine learning, you may feel overwhelmed by the numerous topics. But don’t worry, the following resources will help you familiarize yourself with them.
  • 2. Coursera Course: TensorFlow in Practice Specialization

Website:
https://www.coursera.org/specializations/tensorflow-in-practice
Time: 3 weeks (advanced users) to 3 months (beginners).
Cost: $59 per month after a 7-day free trial, financial aid is available upon application. If you can’t access Coursera, you can check the free version on YouTube.
Help Level: 10/10.
This is the most relevant resource to the exam (and usually helps get started with TensorFlow). You will notice that the syllabus of this course aligns closely with the TensorFlow certification handbook. This course is taught by two big names in TensorFlow and machine learning, Laurence Moroney and Andrew Ng. If you can only choose one material to prepare for the exam, I would choose this course. It uses short video formats and provides hands-on examples. Each lesson ends with multiple code notebooks for learners to practice.
Programming practice tip: Don’t just fill in the blanks to complete assignments; try to write the whole program yourself.
  • 3. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (Second Edition)

Website:https://www.amazon.com/gp/product/1492032646/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1492032646&linkCode=as2&tag=mrdbourke-20&linkId=b943d05f3bad8bd604f66cdbb49d35ef
Time: 3 weeks (reading only) – 3 months (reading then doing exercises)
Cost: Prices vary on Amazon, but I bought the print version for $55. You can view all the code for free on GitHub.
Help Level: 7/10 (some chapters are unrelated to the exam).
This book covers over 700 pages and essentially covers all machine learning knowledge, so it includes some topics unrelated to the exam. But it is a must-read for anyone interested in machine learning and planning to build a solid foundation, not just pass the exam.
If you are new to machine learning, you may find this book challenging at first. However, spending time and effort learning useful skills is worthwhile.
The second and first editions are not much different; it is just updated to cover the latest tools and techniques, namely TensorFlow 2.x (the technology used in the certification exam).
If you are only preparing for the exam, you only need to read the following relevant chapters:
  • Chapter 10: Introduction to Keras Neural Networks

  • Chapter 11: Training Deep Neural Networks

  • Chapter 12: Custom Models and Training with TensorFlow

  • Chapter 13: Loading and Preprocessing Data with TensorFlow

  • Chapter 14: Deep Computer Vision with Convolutional Neural Networks

  • Chapter 15: Processing Sequences with RNNs and CNNs

  • Chapter 16: Natural Language Processing with RNNs and Attention

  • For serious students, I recommend reading the entire book and doing the exercises (or at least the parts that interest you the most).

  • 4. MIT Deep Learning Course

Website:http://introtodeeplearning.com
Time: 3 hours (I only watched 3 lectures) – 24 hours (1 hour per lecture plus 1 hour for review).
Cost: Free.
Help Level: 8/10.
This is a top-tier deep learning course from a world-class university, and it’s free. The first three lectures, Deep Learning (Basics), Convolutional Neural Networks (usually used for computer vision), and Recurrent Neural Networks (usually used for text processing), are most relevant to the exam.
For those eager to learn, completing the entire course is not difficult.
Make sure to check out the experiments and code they provide on GitHub, especially Introduction to TensorFlow (https://github.com/aamini/introtodeeplearning/). Again, it’s very important to write code yourself!!!
  • 5. Getting Started with PyCharm

Time: 3 hours (depending on the speed of the computer).
Cost: Free.
Help Level: 10/10 (must use PyCharm).
The exam is conducted in PyCharm (Python development tool). Before the exam, I had never used PyCharm. So I recommend that you familiarize yourself with it at least before you start. To get acquainted with PyCharm, I started their introductory series on YouTube, which was straightforward.
However, the main thing is to ensure that TensorFlow 2.x runs properly; my computer can run deep neural networks for quite a long time (the MacBook Pro I used does not have an Nvidia GPU).
To test this, I ran the following two TensorFlow tutorials on my local machine:
1. Image Classification with TensorFlow

https://www.tensorflow.org/tutorials/images/classification

2. Text Classification with TensorFlow
https://www.tensorflow.org/tutorials/text/text_classification_rnn
Both ran fine locally, but as we will see below, I encountered a problem when I started the exam.
  • Others

  • Deeplearning.ai videos on Coursera/YouTube

https://www.youtube.com/channel/UCcIXc5mJsHVYTZR1maL5l9w/playlists
The exam is entirely based on writing Python code, but if you want to know the background of the code you are writing (linear algebra, calculus), feel free to pause and learn. For example, if you are unsure what mini-batch gradient descent is, search for “deeplearning.ai mini-batch gradient descent”.
  • TensorFlow Documentation

https://www.tensorflow.org/api_docs/python/tf
If you want to become a TensorFlow practitioner, you need to be able to read the documentation. If you don’t understand it, write code and annotate it yourself.
  • Coding with TensorFlow on YouTube

https://www.youtube.com/playlist?list=PLQY2H8rRoyvwLbzbnKJ59NkZvQAW9wLbx
Most of the courses in the TensorFlow in Practice Coursera Specialization video series are taught by the same instructor on YouTube.
How Did I Prepare for the Exam?
With the resources above, I organized an outline.

How to Pass the TensorFlow Developer Certification Exam

My TensorFlow Developer Certification curriculum in Notion. I used the Kanban technique to track tasks to complete and various resources and notes.
Access link: https://www.notion.so/Getting-TensorFlow-Developer-Certified-Curriculum-ff8385b6f9284fdfbc930ea06ce8749c
Every morning throughout May, I would get up to write, take a walk, read 1 hour of the “Hands-on Machine Learning” book, do 2 to 3 hours of TensorFlow practice, first watching video courses, then completing all coding exercises in Google Colab, and finally watching the corresponding MIT deep learning introductory lectures at the end of each module.
For example, once I completed the computer vision section of the TensorFlow in Practice Specialization, I would then watch the MIT lecture on Convolutional Neural Networks (a computer vision algorithm). It turned out that this tri-brid approach was very effective. The concepts I read in the book were reinforced by code examples in the Coursera specialization and ultimately summarized by the MIT videos.
In terms of timing, I started studying for the exam on May 11 and took the exam on June 3.
By tracking records (in Notion) and handwritten bookmarks, I could learn an average of 20 pages per hour and cover 1 week of course content every 2 to 3 hours without distractions. Finally, in the days leading up to the exam, I downloaded PyCharm and ensured that some code I had previously written could run in the local environment.
Exam Details – What Happens During the Exam?
Starting with two important factors:
  • Exam Fee: $100 per attempt (if you fail, you must wait 2 weeks to retake, and the waiting time increases with each subsequent failure).

  • Time Limit: 5 hours. If it weren’t for the error at the start of the exam, I could have easily finished in 3 hours. However, the extra time is to allow you to train deep learning models on the computer (so ensure that this training is problem-free before starting the exam).

What is the Structure of the Exam?
I won’t disclose too much here, as that would be cheating. What I will say is that reading the TensorFlow Developer Handbook will help you have a clear understanding of the main parts of the exam.
Practicing every exercise provided in the handbook (the materials mentioned above) will make the exam much easier.
  • Exam Highlights

Training Models – If your computer cannot quickly train deep learning models (a part of the scoring criteria is to submit the trained model), you can use free GPUs in Google Colab to train them, then download them, place them in the relevant directory, and submit them via PyCharm.
My Python editor malfunctioned – The exam preparation materials emphasize that the exam requires Python 3.7. Initially, I was using Python 3.7.3. For some reason, even though TensorFlow was working on my local machine with PyCharm the day before, it malfunctioned after the exam (which automatically created the TensorFlow environment).
Each time I ran a line of TensorFlow code, I received an error message:
RuntimeError: dictionary changed size during iteration
I am not sure whether it was an issue with the version of TensorFlow installed for the exam (2.0.0) or with my specific version of Python (3.7.3).
Nevertheless, after searching on GitHub (https://github.com/tensorflow/tensorflow/issues/33183), I found a strange fix that required changing the source code of the Python version I was using (specifically line 48 of lincache.py).
# Previous line 48 of lincache.py
for mod in sys.modules.values():
# Updated line 48 of linecache.py
for mod in list(sys.modules.values()): # added list()
Note: Since this was an exam, this was just a quick fix, so I am unsure whether it has a long-term effect.
During my search, I also read about another method, which was to update/reinstall the version of TensorFlow you are using in PyCharm (e.g., 2.0.0 -> 2.2.x). I tried this method, but it didn’t work; however, as a newcomer to PyCharm, I suspect it might have been some user error.
After implementing this fix, I was able to complete the exam smoothly.
What Happens After Completing the Exam?
If you pass the exam, you will receive an email notification. Other than “Congratulations on passing” or “Unfortunately, you did not pass this time,” there is no other feedback. In fact, you can have a rough judgment on whether you passed during the exam itself, as the system gives scores each time you submit a model.
However, if you pass, then congratulations!

Please fill out the form in the email to ensure you are added to the TensorFlow Certified Developers network:

https://developers.google.com/certification/directory/tensorflow

How to Pass the TensorFlow Developer Certification Exam

You will be able to appear on Google’s global certification website within a few weeks after passing the exam and filling out the form in the email. It takes 1-2 weeks.
After registering here, any company looking for skilled TensorFlow developers can search for you based on your certification type, experience, and region.
Finally, in the coming weeks, you will receive a formal TensorFlow Developer Certification certificate and badge.
Q&A
Do I really need the certificate? Can I just learn without taking the exam?
Ultimately, the goal is to improve skills, not just to obtain a certificate. Having a certificate is good but not essential.
If you say a certificate is not needed, then why obtain one?
I enjoy facing challenges. Setting a date for myself, like “I will take the exam on June 3,” leaves me no choice but to study.
Can I use free resources?
Yes, of course. You can learn all the skills you need by reading the TensorFlow documentation. In fact, when I needed to practice something, I copied examples verbatim (line by line), practiced and understood them, and then checked if I could do it myself.
Why not use PyTorch?
I love PyTorch. However, they do not offer certification; if they did, I might do that too. Additionally, users of both frameworks (PyTorch and TensorFlow) can see that recent updates have made both frameworks very similar. If there are any differences, then TensorFlow has a greater advantage in the enterprise world (see the above image).
I don’t know any machine learning methods; where should I start?
Read the article “5 Beginner-Friendly Steps to Learn Machine Learning”.
https://www.mrdbourke.com/5-beginner-friendly-steps-to-learn-machine-learning/
I passed the exam and registered in the Google Developers Certification network; what should I do next?
It’s time to create! Use the skills you’ve learned to make something you want to see in the world. And don’t forget to share your work; you never know who will see it.
Note: If you prefer to watch, I made a video covering the content of this article.
https://www.youtube.com/watch?v=ya5NwvKafDk&feature=youtu.be
Original Title:
How I Passed the TensorFlow Developer Certification Exam
Original Link:
https://towardsdatascience.com/how-i-passed-the-tensorflow-developer-certification-exam-f5672a1eb641
Editor: Wang Jing
Proofreader: Hong Shuyue

Translator Profile

How to Pass the TensorFlow Developer Certification Exam

Fang Xingxuan, a graduate student in data analytics at Northeastern University in the United States, graduated from the College of Business at Murray State University. He has a strong interest in using data for market and business analysis and is curious about the field of machine learning and AI. He enjoys basketball, guitar, and traveling, and hopes to make friends to share stories, broaden his horizons, and view the world objectively.

Translation Team Recruitment Information

Job Description: Requires attention to detail to translate selected foreign articles into fluent Chinese. If you are an international student in data science/statistics/computer-related fields, or working overseas in related fields, or have confidence in your language skills, you are welcome to join the translation team.

You will gain: Regular translation training to improve volunteers’ translation skills, increased awareness of cutting-edge data science, and the opportunity to connect with domestic technical application development through THU Data Society’s industry-academia-research background.

Other Benefits: You will work with data scientists from well-known companies and students from prestigious universities such as Peking University, Tsinghua University, and overseas institutions.

Click on “Read Original” at the end of the article to join the Data Society team~

Reprint Notice

If reprinting, please prominently indicate the author and source at the beginning of the article (Reprinted from: Data Society ID: DatapiTHU), and place a prominent QR code for Data Society at the end of the article. For articles with original identification, please send [Article Name – Pending Authorized Public Account Name and ID] to the contact email to apply for whitelist authorization and edit as required.

After publication, please provide the link feedback to the contact email (see below). Unauthorized reprints and adaptations will be pursued for legal responsibility.

How to Pass the TensorFlow Developer Certification Exam

Click “Read Original” to embrace the organization

Leave a Comment