How I passed the TensorFlow Developer Certification Exam

Original article was published on Artificial Intelligence on Medium

Curriculum — what I studied to build the skills necessary for passing the exam

It should be noted that before I started studying for the exam, I had some hands-on experience building several projects with TensorFlow.

The experienced TensorFlow and deep learning practitioner will likely find they can go through the following curriculum at about the same pace I did (3 weeks total), maybe faster.

The beginner will want to take as much time as needed. Remember: building any worthwhile skill takes time.

I’ve listed timelines, costs ($USD) and helpfulness level (towards passing the exam) for each resource. The timelines are based on my experience.

If you want to create a curriculum for yourself, I’d recommend something like the following.

Note: For paid resources, affiliate links have been used. This doesn’t change the price of the resource but if you do happen to purchase one, I will receive a portion of the payment: money I use towards creating resources like this.

Time: 1-hour.

Cost: Free.

Helpfulness level: Required.

This should be your first stop. It outlines the topics which will be covered in the exam. Read it and then read it again.

If you’re new to TensorFlow and machine learning, you’ll likely read this and get scared at all the different topics. Don’t worry. The resources below will help you become familiar with them.

Time: 3 weeks (advanced user) to 3 months (beginner).

Cost: $59 per month after a 7-day free trial, financial aid available through application. If you can’t access Coursera, see the equivalent free version on YouTube.

Helpfulness level: 10/10.

This is the most relevant resource to the exam (and getting started with TensorFlow in general). The careful student will notice the TensorFlow Certification handbook and the outline of this specialization are almost identical.

It’s taught by Laurence Moroney and Andrew Ng, two titans of TensorFlow and machine learning and if I had to only choose one resource to prepare for the exam, this would be it.

I appreciated the short video format and focus on hands-on examples as soon as possible. The multiple code notebooks at the end of each section were must-haves for any practical learner.

A tip for the programming exercises: don’t just fill in the code gaps, write the entire thing out yourself.

Time: 3 weeks (reading cover to cover, no exercises) — 3 months (reading cover to cover and doing the exercises).

Cost: Price varies on Amazon but I picked up a hard copy for $55. You can see all the code for free on GitHub.

Helpfulness level: 7/10 (only because some chapters aren’t relevant to the exam).

At 700+ pages, this book covers basically all of machine learning and thus, some topics which aren’t relevant to the exam. But it’s a must-read for anyone interested in setting themselves a solid foundation for a future in machine learning and not just to pass an exam.

If you’re new to machine learning, you’ll probably find this book hard to read (to begin with). Again, not to worry, you’re not in a rush, learning useful skills takes time.

Put it this way, if you want an idea of the quality of the book, I read the first edition during morning commutes to my machine learning engineer job. And I can tell you, more often than not, I’d end up using exactly what I read in the book during the day.

The 2nd edition is no different, except it’s been updated to cover the latest tools and techniques, namely TensorFlow 2.x — what the exam is based on.

If you’re only after relevant chapters to the exam, you’ll want to read:

  • Chapter 10: Introduction to Artificial Neural Networks with Keras
  • 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 Using Convolutional Neural Networks
  • Chapter 15: Processing Sequences Using RNNs and CNNs
  • Chapter 16: Natural Language Processing with RNNs and Attention

But for the serious student, I’d suggest the whole book and the exercises (maybe not all, but pick and the choose the ones which suit spark your interests most).

Time: 3-hours (I only watched 3 lectures) — 24-hours (1-hour per lecture, plus 1-hour review each).

Cost: Free.

Helpfulness level: 8/10.

World-class deep learning information from a world-class university, oh and did I mention? It’s free.

The first 3 lectures, deep learning (in general), Convolutional Neural Networks (usually used for computer vision) and Recurrent Neural Networks (usually used for text processing) are the most relevant to the exam.

But again, for the eager learner, going through the whole course wouldn’t be a bad idea.

Be sure to check out the labs and code they offer on GitHub, especially the Introduction to TensorFlow one. And again, I can’t stress the importance of writing the code yourself.

Time: 3-hours (depending on how fast your computer is).

Cost: Free.

Helpfulness level: 10/10 (using PyCharm is a requirement).

The exam takes place in PyCharm (a Python development tool). Before the exam, I’d never used PyCharm. And it’s suggested you get at least somewhat familiar with it before you start.

So to familiarise myself with PyCharm, I went through their getting started series on YouTube which was very straightforward, “here’s what this button does.”

But the main tests were making sure TensorFlow 2.x ran without any issues and my computer could run deep neural networks in a respectable time (my MacBook Pro doesn’t have a Nvidia GPU).

To test this, I replicated the following two TensorFlow tutorials on my local machine:

  1. Image Classification with TensorFlow
  2. Text classification with TensorFlow

Both of these worked fine locally, however, as we’ll see below, as soon as I started the exam, I ran into an issue.

Extras

  • deeplearning.ai videos on Coursera/YouTube — The examination is purely code-based (Python code) but if you want to know what’s going on behind the scenes of the code you’re writing (linear algebra, calculus), I’d jump in and out of videos here as you see fit. For example, if you’re not sure what mini-batch gradient descent is, search “deeplearning.ai mini-batch gradient descent”.
  • TensorFlow documentation — If you’re going to be a TensorFlow practitioner, you’re going to need to be able to read the documentation. If you don’t understand something, write the code and comment it yourself.
  • Coding with TensorFlow on YouTube (playlist) — Most of the TensorFlow in Practice Coursera Specialization in video series on YouTube, taught by the same instructor as well.