How I passed the TensorFlow Developer Certification Exam
Hold on, what even is TensorFlow?
TensorFlow is an open-source numerical computing framework that allows you preprocess data, model data (find patterns in it, typically with deep learning) and deploy your solutions to the world.
It’s what Google uses to power all of its machine learning services. Chances are, the device you’re reading this on has run some kind of TensorFlow before.
[Read:What audience intelligence data tells us about the 2020 US presidential election]
Typically, you’ll write TensorFlow code in very comprehensible Python (what the exam is in) or JavaScript (tensorflow.js) and it’ll trigger a series of underlying functions written in C which execute what you’ve told it to do (lots of numerical calculations).
Okay, now we know what TensorFlow is, what is the TensorFlow Developer Certification? And why might you be interested in it?
What is the TensorFlow Developer Certification?
The TensorFlow Developer Certification, as you might’ve guessed, is a way to showcase your ability to use TensorFlow.
More specifically, your ability to use TensorFlow (the Python version) to build deep learning models for a range 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 given a range of past events).
Why might you want to get TensorFlow Developer Certified?
My first reason was fun. I wanted to give myself a little challenge to work towards and a reason to read a new book I’d purchased (more on this later).
But two other valid reasons are:
Speaking of future employers, based ondata from Hacker News’s Who’s Hiring page(a page which lists monthly collections of software developer jobs), it looks like compared to other deep learning frameworks, TensorFlow pulls out ahead.
How to prepare for the exam
When I decided I wanted to I went through thecertification websiteand read the TensorFlow Developer Certification Handbook.
From these two resources, I built the following curriculum.
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 (three 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.
1.The TensorFlow Developer Certification Handbook
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.
2.TensorFlow in Practice Specialization on Coursera
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 theequivalent 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.
3.Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow 2nd edition
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 thecode 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:
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).
4.Introduction to Deep Learning by MIT
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 theIntroduction to TensorFlow one. And again, I can’t stress the importance of writing the code yourself.
5.Getting started with PyCharm
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 familiarize 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:
Both of these worked fine locally, however, as we’ll see below, as soon as I started the exam, I ran into an issue.