How to go from a Python newbie to a Google Certified TensorFlow Developer under two months
By: Grady Matthias Oktavian
Tags: Machine Learning, TensorFlow, Deep Learning, Data Science, Python

How to go from a Python newbie to a Google Certified TensorFlow Developer under two months

Struck with boredom during the pandemic, I decided to challenge myself to learn Python and get certified by Google as a TensorFlow Developer under two months. Here’s my story and my learning path.

Photo by author.

I still remember the day I finalized my thesis submission to my university. I sighed in relief as my bachelor studies came to an end. However, boredom quickly overcame me. With nothing to do, and the world swallowed by a pandemic, I desperately seek for a new activity to fill my empty days.

In this post, I’m going to tell you how this pandemic boredom led me to becoming a Google Certified TensorFlow developer in under two months, despite having never coded in Python before. I’ve provided a list of linked study materials that I use to prepare for this exam.

My TensorFlow ‘Origin Story’

As someone who enjoys learning, my curiosity has led me to read extensive news and articles about the pandemic when I stumbled upon an article about a group of researchers developing a new system which can distinguish pneumonia from COVID-19 in X-ray images.

The article mentioned that they use ‘artificial intelligence’ and ‘neural network’ to make the system. This immediately piqued my interest — how could they train a system which can differentiate X-rays scans? The AI doesn’t even have a medical degree to begin with, and yet it has more than 90% of accuracy! Thus begin my journey into the rabbit hole that is deep learning.

Long story short, a brief conversation with a friend opened my eyes to TensorFlow (and Keras). Another day of curious browsing led me to read a blog post by Daniel Bourke about how he got certified as a TensorFlow Developer.

I challenged myself to get certified too, but I was worried that I don’t have enough time as soon I was going to be employed and start my master’s degree classes at roughly the same time. Furthermore, I am blind to Python. Can I really accomplish this feat?

I studied applied mathematics for actuarial science for my bachelor’s degree, which means that I quite familiar with calculus, regression, time series, and statistics. However, my coding skills in Python were slim to none, as the only programming language I know is R. While I find that R is a very versatile language that compliments the needs of data-related jobs, unfortunately at this moment the language R is not supported for the TensorFlow Developer Certification exam.

Taking this certification would be a milestone in my journey as a self-proclaimed data and AI enthusiast. Okay, enough of my story. Let’s talk about TensorFlow.

What is TensorFlow? Why should you learn it?

TL;DR version: TensorFlow is a widely available software library for machine learning.

A slightly less TL;DR version: TensorFlow is a free and open source framework which enables users to develop end-to-end machine learning and deep learning projects, starting from pre-processing to model training and deployment. It is initially developed by the Google Brain team for internal use within Google, but now its usage has been widespread.

Now, why should you learn TensorFlow? Because it is capable of a lot of things, and it is more widespread than you think. Chances are, you are using services made using TensorFlow without knowing it.

A gif shocasing how Gmail’s Smart Reply works. Image by Greg Bullock (2017) from the article “Save time with Smart Reply in Gmail”. https://blog.google/products/gmail/save-time-with-smart-reply-in-gmail/. Source: Google

Have you ever used Gmail’s Smartreply? It is AI-powered and suggests you three responses based on what’s written on your email. It is built using TensorFlow.

Your Twitter timeline’s sorting method? WPS Office’s OCR (image-to-text recognition)? VSCO’s preset suggestion for your photos? TensorFlow.

When this article was written, TensorFlow has been around for only 4 years old, and it has seen widespread usage in so many services and products that we use daily. While not explicitly written, there is a possibility that the researchers who develop an image recognition system to differentiate regular pneumonia from COVID-19 pneumonia use TensorFlow in their system.

In the future, as the field of deep learning and artificial intelligence improves, we may see more and more products, services, as well as scientific breakthroughs which are powered by TensorFlow to assist in their deep learning aspect.

Practitioners in these fields are benefited if they are familiar with this platform, and this line of thought is what made me interested in becoming a certified TensorFlow developer myself. Perhaps, you have similar thoughts prior to or during reading this article, or perhaps you have your own reasons too to study TensorFlow. Nevertheless, read on to the next part to know more about the exam.

What is the TensorFlow Developer Certificate exam? How much does it cost?

TensorFlow Digital Badge. Image taken from the article: “Introducing the TensorFlow Developer Certificate!” by Alina Shinkarsky. Source: TensorFlow

The TensorFlow Developer Certificate exam is written and has to be completed in Python language. In the exam, we utilize Python’s TensorFlow library as well as its API. The exam costs $100 per trial. If you fail the first trial, you may pay $100 again and retake the exam after two weeks. Further details about the exam payments and regulations can be found in the handbook here.

The exam syllabus comprises of four main points: building and training neural network using TensorFlow, image classification, natural language processing, as well as time series. The exam has to be taken in the Pycharm IDE.

After reviewing the handbook, I begin to plan out my learning path, which starts from learning the Python language itself, then familiarizing myself with TensorFlow.

My Learning Journey: The First Month

If you’re still with me, or if you skipped reading the article to get to this point, then let me refresh you briefly. A bored applied mathematics graduate with nothing to do and no prior experience in Python suddenly dreamed of becoming a TensorFlow developer under two months. Here’s a recap my journey to achieve that goal.

During the first month, I familiarize myself with the Python language. How do I do this quickly? The first thing I did is going to hackerrank and immediately practiced with a lot of Python problems. When I get to a problem that I can’t solve on my own, I try to look up solutions online on-the-go. If that too didn’t help, I viewed the solution and tried to understand the concepts I can grasp in this problem.

That’s all I do for two weeks, and by then, I am able to answer most questions, even the ones with higher difficulty without looking at any solutions.

What did I do for the remaining two weeks? I watch free YouTube Python tutorials. You heard it right.

Alright, disclaimer incoming. If you have the opportunity to take formal Python class in a more structured manner, by all means please do so. The three videos I list below are only my personal choice to accelerate my Python learning journey.

These videos are so underrated just because they are “free”, and you don’t get any certificates for completing them. Here are a few great choices:

‘Python for Beginners’ by Programming with Mosh. This video is a concise and clear recap of the basic concepts of Python starting from strings, operations, functions, data types (lists, dictionaries, tuples), inheritance, and then finishes the video by making three beginner-friendly projects. The second project is most relevant to my path as it is about machine learning.

‘Python for Data Science Full Course’ by edureka! This video covers necessary packages in Python for a solid foundation in data science. At the end of the video, they talk briefly about deep learning in Python using Keras and TensorFlow, so it gives me a sneak peak of what’s to come.

‘Data Analysis with Python’ by freeCodeCamp.org. Before we even make models and train them, an often overlooked stage is preprocessing our data. This video focuses more on said part, and emphasizes on gathering data, loading them, cleaning them, as well as making visualizations to draw insights.

While I would enroll in a ‘formal’ Python class in my next studies, these three YouTube videos suffice for now. Just make sure to take notes, write your own codes, as well as trying out different things while you watch along.

My Learning Journey: The Second Month

I spend the last month taking the DeepLearning.AI TensorFlow Developer Professional Certificate at Coursera. In this course, we are tutored by Laurence Moroney, Lead Artificial Intelligence Advocate at Google, and Andrew Ng, founder of deeplearning.ai.

There are four courses in the specialization covering the four key points of the exam syllabus mentioned earlier. Each course consists of four weeks of lessons, but I learned the lessons for one week in a day, as this has been on top of my priority list for that month.

After completing each course, I take a day off to rest my mind, and use that day to either toy around my practice codes, or to explore ideas related to the course in a leisure manner.

To recap, I take five days to complete each course. Four days to view the lesson materials, and the fifth day to rest and review. Thus, I am able to finish the whole courses in 20 days.

Each courses have its own coding projects, and I really explore the codes provided. I often find myself spending hours toying around the hyperparameters of the neural network (you’ll know what I’m talking about when you start learning it) in order to try and gain the best validation accuracy. By doing so, you’ll gain an ‘instinct’ on the trial and error processes of creating deep neural network models.

Sometimes, the lessons referenced an external source such as datasets, articles, and ungraded materials. These are not mandatory to pass the course, but in my curiosity I explore a lot of these external sources. As the lessons are mostly practical, often than not we are also given links to videos made by Andrew Ng in which he explains a more intuitive and theoretical approach of particular subjects.

Alternative Materials

You don’t necessarily have to follow my study path and my learning materials in order to succeed in this exam. There are other alternatives to the coursera course if you don’t want to spend $49 per month for the course, and I’ll list them here:

Hands on Machine Learning with Scikit-Learn, Keras, and Tensorflow (2nd Edition) by Aurélien Géron. This book is something I’d like to fully read and complete in the upcoming months as its comprehensiveness really helps me in understanding key concepts about machine learning and deep learning. Chapter 10–16 houses the materials which are similar to the exam syllabus.

Coding Tensorflow Youtube Playlist. A free YouTube playlist which covers the materials for this exam, and is taught mostly by Laurence Moroney too. I prefer taking the coursera certification as it has additional graded quizzes and projects, but if you are daring to explore furthermore by yourself based on the materials given in the YouTube playlist, I think you’re in good hands. Don’t forget to check on Keras and TensorFlow documentation on their official websites.

Taking The Exam

I take four days to review my lessons and reread the handbook after finishing all the courses. On the 25th day of the second month, I started the exam.

Alright, here comes the D-Day. Okay so here is the answer key of the first questio — just kidding. While I can’t go to the exam details for obvious reasons, here are a few points regarding the exam that I’ve compiled about preparing and taking the exam:

First things first — install the required Python IDE. In my iteration of the exam, we are required to use PyCharm. Make sure to download the correct version (refer to the handbook) and disable/uninstall other third party plugins. A quick tip: I’d test my PyCharm first before starting the test by running some TensorFlow models and see if there are any errors to be resolved. Sign up for the exam here. Complete the payments and upload your ID (national ID/passport). After that, you should receive yet another handbook, this one is only reserved for the ones who have paid and registered for the exam. Review them well, and make sure you are well prepared before beginning the exam. The exam is five hours. Manage your time wisely. When your model for a problem is being trained, you can start working on the next question(s). After your model has been trained and saved, don’t forget to submit and test your model (after installing the exam plugin, your IDE will have a “test and submit model” button). Focus on completing all questions first, then if you have time, you can go back and tune your models. Remember, there is a time restriction. As long as your model scored full points, you’re good to go. You can train model on external platforms such as Google Colab, AWS, etc. Before starting the exam, you should learn how to save your model from the external platform, and then load it in PyCharm. You have to save your model in the ‘.h5’ format.

If you’ve studied well, and made sure that you’ve learned all things listed in the exam syllabus, you should pass the exam. I can tell you that the syllabus written in the handbook is not misleading, and you can really use the list provided there as a benchmark for your exam readiness.

Personally, I do the exam on my AMD notebook with no dedicated GPU, and yet I only need to use Google Colab once in a problem with large data set. Train a few practice models on your device and you’ll know for yourself if your device is capable enough. I’d be more concerned on the internet speed and stability as you need to upload these models to complete the exam.

Exam Result

After ending the exam, I immediately received an email saying that I have passed the exam. Within 2 weeks, my official digital certificate is sent to my email, and I can link it to my LinkedIn profile.

It is only valid for three years, so I will have to take another certification exam in 2023. I could only wonder on the advancement of TensorFlow and the field of deep learning by then, and hopefully my journey in taking that exam is smoother than this first one.

Conclusion…and then what’s next?

This is not the end, in fact this is just the beginning for me. Having this exam as my first milestone really supercharged me and is my door to the world of data science, which is weird — as usually deep learning is the cherry on top for aspiring data scientists.

I’m glad that I managed to finish this certificate exam as well as writing this article merely days before my actuarial job and my master degree started. Through these two months, I have a newfound interest in the world of data science and artificial intelligence. The possibilities that this field might bring to solve real world problems are seemingly endless.

I have to write a reminder that I believe my learning path is not the best, and there are still a lot of room for improvements. To those who are not time-constrained, perhaps taking it slower as well as making projects along the way would be a better learning path. As for now, even when I am a certified TensorFlow developer, I have yet to make a single project on my GitHub account. This is what I aim to focus on after this article is published — improving my skills furthermore by making real personal projects and putting them on my GitHub.

As a quickly growing field filled with innovations, discoveries, and breakthroughs, I’m sure that the world of artificial intelligence, data science, machine learning, and deep learning is a new frontier waiting to be explored. Are you excited to venture into this world? Because I am. And for me, it all begins from a boredom during the pandemic.