Tensorflow Developer Certification Journey

- journey

Also known as: How I Passed the Tensorflow Developer Certification in 7 Days, and Should You Do It Too?

The author took the exam on 7/4/2021. This article was written on 7/7/2021. The content may change in the future.

In the text, Tensorflow is referred to as TF, Machine Learning as ML, and Deep Learning as DL. Although DL is technically a subset of ML, given the advancements made in various fields, ML and DL are often used interchangeably.

TL;DR

Background Knowledge

What is this certification?

Why might you want this certification?

How is the exam conducted?

My Background

My Goals for Taking this Exam

The following sections will review the progress of these goals.

Preparations

I first heard about this exam from Daniel Bourke’s video (YouTube) and mainly referred to his blog for related materials. In addition, the TFUG Suzhou video explanation (Bilibili) and WeChat article also provided some help.

Resources

The following resources are listed in order of importance.

  1. TF Certificate Candidate Handbook (Chinese version link, English version link) This handbook provides guidance for the TF Developer Certification exam and instructions for setting up the exam environment (can be downloaded from the exam platform before the exam).

    Must-have. The “Candidate Handbook” is the most important official document and should be read in detail. It includes a skill checklist, which basically covers the main content of the exam. The “Exam Guide” and “Environment Setup” documents are only visible on the exam platform after payment, so it is recommended to read them before the exam and try to set up the environment to avoid any configuration issues during the exam.

  2. Online course “DeepLearning.AI TensorFlow Developer Professional Certificate” (Coursera, Course Notebook Repo)

    Must-have. This is actually a collection of four courses covering the basics of deep learning, CNN, NLP, and time series. It aligns almost completely with the skill checklist (in fact, the instructor of the course is the same person who signs the certificate). The course includes videos and an online coding environment, and the exercises are similar to the actual exam questions. If you can complete the course, you should have no major issues with the exam. The course itself is priced at $59, but it offers a one-week free trial (requires a credit card), so you can quickly finish it and cancel the payment method association.

  3. Book “Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition” (O’Reilly, Book Notebook Repo)

    Recommended. This book is more like supplementary reading material and goes beyond the scope of the exam. However, it is helpful for building a knowledge base. Some topics that may not be clear in the online courses (such as the use of tf.Dataset) are explained in more detail in the book. The parts related to the exam are from Chapter 10 to Chapter 16. My university has a subscription to O’Reilly, so I chose to read it on my iPad, but you can also purchase the print version.

  4. TF Official Documentation (Tutorials, Guides)

    Optional. The tutorials are like cookbooks with examples of solving various tasks. The guides focus more on the underlying principles and fundamental knowledge. You can browse the table of contents and refer to them when encountering unfamiliar concepts. If you have time, you can read them thoroughly.

Learning Approach

When faced with multiple resources covering the same topic, there are generally two learning approaches:

Depth-first Repetition
Depth-first Repetition

In Daniel Bourke’s blog, he used the depth-first approach (tribird approach), focusing on one topic each day. He would start with the corresponding online course, then read the book, spend time practicing coding, and finish with MIT’s videos. However, based on my own experience, I am more accustomed to the repetition approach, which allows the brain to process the knowledge in the background for a period of time before identifying areas that need further clarification. Readers can choose the appropriate approach based on their own preferences.

Study Timeline

Study Tips

Devices and Environment

I used a workstation in the lab, which had an older GPU (Quardo M2000, 4G VRAM). The system was Ubuntu 18.04, and the Pycharm version was 2021.1.3 Community. As a backup, I also applied for a GPU instance on the school’s supercomputer, which had an RTX2080 GPU.

The models required for the exam are not too large, according to the “Exam Guide.” If you can run the image classification and text classification examples here and here on your local machine, you should have no issues. Plus, with a five-hour time limit, there is generally no need to worry about insufficient local computing power causing training failures. If resources are limited, you can use Colab for training or purchase GPU-optimized instances from mainstream cloud providers.

The exam itself is conducted in a virtual environment using virtualenv. A Python 3.8 environment needs to be set up in advance, and the TF Certification Exam plugin should be installed in Pycharm.

It is worth noting that although Pycharm allows setting up a remote SSH Python interpreter, this configuration is not supported by the exam plugin. Therefore, it is best to install Pycharm and the exam plugin directly on a device with a GPU.

In terms of network environment, since the exam requires downloading datasets and uploading models from/to Google’s servers, it is recommended to ensure a stable connection to the international internet or take the exam during off-peak hours. The datasets are downloaded using the request library in the code, but you can also manually download them using other tools and place them in the exam directory.

During the Exam

I was fortunate in my exam experience because I had previously verified the environment based on the “Environment Setup” document, so I didn’t encounter any environment-related issues. The five questions were not very difficult, and I completed four of them and received a score of 5/5 within 40 minutes of starting the exam. However, the NLP question was quite tricky. I tried various architectures but could only achieve a score of 4/5. In the end, I changed the optimizer, reduced the learning rate, and increased the number of epochs to train slowly, finally achieving a score of 5/5. When I finished the exam, there were still 3 hours and 10 minutes remaining.

The five questions I encountered were:

  1. A simple regression task.
  2. Classification on a dataset that you have definitely encountered multiple times.
  3. Image classification.
  4. Natural Language Processing (text classification).
  5. Time series prediction.

After the Exam

If you pass, you will receive a pass notification via email within a few minutes, and you can provide your information to register on Google’s certification network. The digital certificate will be sent via email within a few working days.

Review and Summary

Looking back on this week, I think it was an interesting experience. For me, spending money was an effective way to motivate myself to learn. At least during this week, I was able to thoroughly study some chapters of HOML. The exam itself was much easier than I imagined, which further emphasizes that passing this exam is just the beginning and only demonstrates the basic skills of completing simple tasks following tutorials. There is still a long way to go before truly mastering the subject.

The completion status of the goals I set for myself are as follows:

So, Should You Take this Certification?

In my opinion, for students in computer/data science majors, ML/DL skills are considered a “default requirement.” The TF Developer Certification is more like an additional skill level, similar to the “Computer Level 2” certification. It can be seen as an extra skill for students from non-related majors, but it may not have much significance for students within the major. However, currently, obtaining this certification may still have its value, especially in smaller companies where it might be easier to pass the HR screening.

Table: If you meet the following conditions, you…should consider taking this certification

You might want to… You might not want to…
- Force yourself to learn something
- Transition from a different major and need to demonstrate your skills and job-seeking intention
- Don’t have much experience to write on your resume
- Already have mature and extensive ML/DL experience
- Don’t have the spare money/time
- Think TensorFlow is too difficult and prefer PyTorch