What I do and why I decided to get certified
As a software developer I’ve always been interested in data science and analytics but preferred code to math. I did dip my toes in enough to earn a degree specializing in Business Intelligence, but over the years drifted away to more conventional coding. You may have noticed the last couple of years has caused a boom in artificial intelligence and machine learning and I’ve been knocking the rust off some old skills and when Google offered the TensorFlow Developer Certification I thought it would be a perfect fit for me.
What is Tensorflow
TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications. Created by Google, it powers many of its machine learning services. Usually TensorFlow is written in Python or JavaScript, which then run the machine learning algorithms in C for speed.
What is TensorFlow Developer Certification?
The first step to find out what the certification is would be the landing page and then more the Candidate Handbook. It’s only 7 pages, so read it well. The handbook contains a skills checklist that can help assess if you are ready to take the exam, or if you should polish up on areas where you might be rusty. I definitely needed to polish several areas.
But for the quick version, the TensorFlow Developer Certification is a way to prove and show off your ability to use TensorFlow, specifically the Python version, to build machine learning models for various tasks from regression, natural language processing, forecasting and computer vision.
Why would you want to be TensorFlow Developer Certified?
For me, it was a way to motivate myself into learning more about modern machine learning and to complete a fun challenge. For a lot of people however, it’s going to be more about proving and certifying that you are skilled in a major tool of machine learning.
Exam requirements
The exam is taken at home, using your personal computer. The Candidate Handbook lays out how to set up your environment. I found it to be fairly easy. You’ll need to install Python 3.7, PyCharm (a popular Python IDE), and some packages like tensorflow and numpy. The whole process is detailed in the ‘setting up your environment’ document.
The exam is five hours long and will cost $100 and require an ID certification. You will be presented with five questions. There will be five models that you will have to code. You won’t be starting from scratch, and it will be clearly marked where you have to add your code by comments. The categories include a basic machine learning model, a model from a learning dataset, a Convolutional Neural Network with real-world image dataset, a Natural Language Processing Text Classification with real-world text dataset, and Sequence Model with the real-world numeric dataset.
Test requirements
Foundational Principles Of ML & Deep Learning
You will need to have a clear understanding of building TensorFlow models using Computer Vision techniques, Convolutional Neural Networks (CNN), and Natural Language Processing (NLP), among others. Understanding how to use TensorFlow 2.0 is another prerequisite.Build & Train Neural Network Models Using TensorFlow 2.0
You need to have a good grasp of ML and deep learning models using the latest TensorFlow 2.0 version. For this, you will need to know how to use TensorFlow 2.0, build, compile and train ML models using TensorFlow, preprocess data to get it ready for use in a model, and use models to predict results.
You will need to build and train models with multiple layers for binary classification and multi-class categorization, understand how to use callbacks to trigger the end of training cycles, datasets from different sources and formats. You must also know how to identify strategies to prevent overfitting, including augmentation and dropout, plot loss and accuracy of a trained model, extract features from pre-trained models, as well as ensure that the inputs are in correct shape, and you can match test data to the input shape of a neural network.Knowledge Of Image Classification
The third requirement is knowledge on how to build image recognition and object detection models with deep neural networks and convolutional neural networks using TensorFlow 2.0.
For this, you will need to understand CNNs with Conv2D and pooling layers, and how to use convolutions to improve your neural network. You will also need to know image augmentation to prevent overfitting, and ImageDataGenerator and how it labels images based on the directory structure. In addition to this, you also need to know how to build and train models to process real-world image datasets.Knowledge Of Natural Language Processing (NLP)
You need to understand how to use neural networks to solve NLP problems using TensorFlow. For this, you will need to know how to build NLP models using TensorFlow, build models that identify the category of a piece of text using binary and multi-class categorization, use word embeddings and LSTM in the TensorFlow model, use RNNS, LSTMs, GRUs and CNNs to work with text, as well as train LSTMs on existing text to generate text.Knowledge of Time Series, Sequences and Predictions
This is the last requirement for participants to pass the certification. You will need to have a clear understanding of how to solve time series and forecasting problems in TensorFlow. This includes training, tuning to solve time series and forecasting problems in TensorFlow, knowledge of Mean Average Error (MAE) and how it can be used to evaluate the accuracy of sequence models. Other prerequisites include how to use RNNs and CNNs for time series, sequence and forecasting models, identifying when to use trailing versus centered windows, identifying and compensating for sequence bias, adjusting the learning rate dynamically in time series, sequence and prediction models, as well as using TensorFlow for forecasting.
How to prepare for the exam
The TensorFlow Developer Certification Handbook
You should start your journey here. The handbook outlines the topics that will be covered in the exam. I suggest reading it a couple of times. The topics may look daunting, but the resources below will completely cover everything you need to know, it just helps to know what you HAVE to know to pass.TensorFlow in Practice Specialization on Coursera
An absolutely wonderful course by Laurence Moroney and Andrew Ng.. I would highly recommend it for anyone interested in machine learning. The course covers all the topics and goes from a basic model to image and text classification to time series of data in just a few weeks. This is the most important resource for the exam (and getting started with TensorFlow in general).
It’s taught by Laurence Moroney and Andrew Ng, two luminaries of TensorFlow and machine learning and if I had to only choose one resource to prepare for the exam, this would be it.Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow 2nd Edition
I suggested this book in my other blog post about learning machine learning and once again highly recommend it. 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) and I would suggest starting with the Coursera course first.
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).Introduction to Deep Learning by MIT
Excellent world-class deep learning course from a world-class university, and 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.A PyCharm Tutorial
The exam takes place in PyCharm (a Python IDE). I would suggest becoming familiar with it before the exam and running through several example models to make sure everything in your environment is working well.
What happens after you finish the exam?
Once you complete the exam you’ll be notified by email whether or not you passed. There will be no feedback except “Congratulations you passed” or “Unfortunately you didn’t pass this time”. For the most part, you’ll already know if you passed or not when you finish the exam.
Be sure to fill out the form in the email to make sure you get added the TensorFlow Certified Developers network. Once you’ve passed the exam and filled out the form in the email confirmation, in a couple of weeks you’ll be able to Google’s Global Certification Network. Registering yourself here means anyone who’s looking for skilled TensorFlow developers will be able to search for you based on your certification type, experience and region.
You’ll also be emailed an official TensorFlow Developer Certification and badge. Congratulations and good luck with learning more about Artificial Intelligence and Machine Learning!