Getting TensorFlow Developer certified
After preparing for a long time, I recently took and passed the TensorFlow Developer Certificate exam. This exam tests your proficiency in using TensorFlow for image, time-series, and text data. Beyond these domains, it also covers strategies to reduce overfitting, such as augmentations and dropout layers.
Why should you get certified?
There are two reasons why you should attempt the exam. First, getting this certificate is a great incentive to learn TensorFlow. Secondly, it’s also an excellent opportunity to certify and showcase your skills.
If you do not have any previous experience with Machine Learning, then it might be better to learn about it first (use these example resources as a starter: 1, 2, 3, 4), and then come back to tackle the exam.
Resources
I first read about the exam a year ago but only actively started pursuing it last Christmas. My initial plans were to do preparatory courses in the winter holidays, but in the end, I was too busy with university work that I had to delay it. In March, I began the preparations, and I used the following resources for it.
1. DeepLearning.AI TensorFlow Developer Professional Certificate
Costs: ~50$ per month after seven free days. Or audit it free of charge.
What it teaches
Even though I had around two years of experience with TensorFlow and Keras, I decided to start the DeepLearning.AI TensorFlow Developer Professional Certificate on Coursera. It begins with an introduction to TensorFlow, which teaches you how to build and train basic neural networks. If you have experience with these topics, you can skip this part. The second part covers convolutional neural networks, larger networks, transfer learning, and augmentation techniques. Then, in the third course, you focus on natural language processing: you begin with embeddings, advance to sequence models, and end with creating poetry. Finally, in the last course, you cover time-series data.
Usefulness for the exam
If you have one to two years of TensorFlow experience, then you can skip this course. Or, even better: Audit the individual lessons for free and check what you might have missed so far. If you do not have any experience, then this course is highly recommended. There are two alternatives. First, you can access it for free on YouTube. Secondly, you can also do the TensorFlow Developer Certificate in 2021: Zero to Mastery course (also available here, and code is here).
Even though the certificate is a good and positively rated resource, it was not my only resource. I additionally followed a custom curriculum to learn more, mainly building on what I had done for university and personal projects.
2. Re-implementing a paper
Costs: Free.
What it teaches
To gain an in-depth understanding of TensorFlow, I took on the challenge of re-implementing a paper. As a reference, I choose a CycleGAN paper, which covered translating symbolic music from one genre to another. As a result, I learned a tremendous amount: how to write efficient input pipelines, efficient pre-processing, and custom training loops.
Usefulness for the exam
It isn’t easy to assess how useful it was what I have learned regarding the certificate. It generally exceeds what is demanded in the exam but still proves valuable under the hood. This is because it’s not only coding but also how to approach problems and search for solutions that bring you forward. However, in follow-up certificates, this might be tested. Nevertheless, I had a good chance to dive deeper into coding with PyCharm, which is required for the exam.
3. Working with TFRecords
Costs: Free.
What it teaches
When re-implementing the paper, as mentioned before, I also worked with TFRecords, TensorFlow’s native format of storing data. This is somewhat challenging to get started with, but it’s tremendously valuable once you got a grip. The most significant benefits of this format are the high interoperability with TensorFlow’s dataset handling, the fast streaming from disk, and the efficient way to store data. More detailed information is available in this TensorFlow tutorial and this Colab notebook.
Usefulness for the exam
I found that this is not required for the exam, so that you can skip this part. However, for projects beyond the scope of the certificate, it’s definitively good to have worked with TFRecords.
4. Introduction to Deep Learning
Costs: Free.
What it teaches
The Introduction to Deep Learning is offered free of charge by MIT. This lecture covers the field of Deep Learning in 12 lessons while being accessible to non-technical people, too. It starts with a general introduction to Deep Learning and continues with handling sequence and image data. Afterwards, it covers other topics, such as Reinforcement Learning and Generative techniques.
Usefulness for the exam
The first three lectures and lecture number 8 are the ones that are most useful for the exam. However, I recommend going through the whole course, as it is very well presented. Also, check out the accompanying code.
5. Getting used to PyCharm
Cost: Free.
What it teaches
The PyCharm code editor is required for the exam. Following the example project teaches you how to set up projects, run, and debug code.
Usefulness for the exam
If you have experience with PyCharm, then you can skip this. If you are new to PyCharm, then this is mandatory. In my opinion, it would further help you to work on a couple of smaller projects before trying the certificate because they will teach you more about PyCharm. And what you already know you won’t have to look up during the exam.
6. Candidate handbook
Cost: Free.
What it teaches
This handbook introduces the exam, what will be tested, how it will be tested, and so on.
Usefulness for the exam
Mandatory. Even if you have experience with TensorFlow, read this document.
7. TensorFlow tutorials
Cost: Free.
What they teach
There are many tutorials listed on TensorFlow’s homepage. However, the Beginner category is sufficient; it covers image and text classification, regression, and basic I/O tooling.
Usefulness for the exam
If you have done the TensorFlow Developer Certificate course or its alternatives, then you can skip this. If you have not, then the tutorials are valuable resources.
How I prepared
I did the TensorFlow course in March and set aside one hour each day to progress. At this pace, I finished it in close to three weeks. I did not set aside any specific time for the other resources: Most of the work was done for university projects, which taught me valuable things.
If you are looking for a curriculum, I recommend the following:
- Watch the Introduction to Deep Learning lecture
- Do the TensorFlow course or its alternatives first, by setting aside an hour or two per day
- During that time, use PyCharm for your coding
- To deepen your understanding, re-implement a paper or do a couple of TensorFlow’s tutorials
- Read the candidate handbook
- Setup an example test environment (instructions are in above handbook)
- Purchase and ultimately pass the exam
The exam
Once you purchase the exam, which costs 100 $ per attempt, you will be given detailed instructions on how it works. Without exposing any of the details, the exam covers your sufficiency in various categories. These categories are increasingly difficult to solve. However, you can use whatever resources you want; you only have to upload a trained model per category in the end.
For one of the categories, I could not run the code, so I switched to Colab. I then trained the model there, downloaded it to my computer, and uploaded it as part of the exam.
You have five hours to complete all questions. I found that this is a fair amount of time. During the exam, you will already get a feeling if you have passed. If you can solve all questions (that is, upload a trained model that achieves 100% on the grading infrastructure), you’ll pass. In general, I aimed at solving a category perfectly before progressing. With one exception, this worked well.
Once you submit the exam or the time is over, you’ll be notified by e-mail about your results. For me, this took less than a minute and greeted me with
“Congratulations, you have passed the TensorFlow Developer Certificate exam!”
If you use the resources described above, you will be greeted with these words, too!