How I got a TensorFlow developer certificate (and how to get it for you)

image



In early May, I decided to get a TensorFlow developer certificate. For this, I developed a training program to improve my skills and completed the certification exam tasks a couple of days ago (June 3rd). It turned out that I passed the exam successfully.



Let me tell you how I did it, and how you do the same.



Wait. What is TensorFlow in general?



TensorFlow is an open source numerical system that allows you to pre-process and model data (find patterns in them, usually through deep learning), as well as deploy your solutions for the whole world.



Google uses TensorFlow to support all of its machine learning services. Most likely, the device on which you are reading this used TensorFlow in one form or another before.



You usually write code using TensorFlow in very understandable Python (which is what the exam requires) or JavaScript (tensorflow.js), and it runs a number of basic functions written in C. These functions do the commands you described earlier (do a lot of numerical computation) .



So now we know what TensorFlow is, but what is TensorFlow Developer Certification? And why might you be interested in it?



What is TensorFlow Developer Certification?



TensorFlow Developer Certification , as you might have guessed, is a way to demonstrate your ability to work with TensorFlow.



Specifically, your ability to use TensorFlow (Python version) when building deep learning models for a range of different tasks: regression analysis, computer vision (finding patterns in images), natural language processing (finding patterns in text), and time series forecasting (predicting future trends taking into account a number of past events).



Why do you need a TensorFlow Developer Certificate?



The first reason for it was fun. I felt like giving myself a little challenge at work and finding an excuse to read the new book I bought (more on that later).



But there are two other good reasons:



  1. , , .
  2. .


Speaking of future employers: Based on data from Hacker News's Who's Hiring page (a page that lists monthly software developer job selections), it looks like TensorFlow is ahead of other deep learning frameworks.



image



Comparison of different deep learning frameworks based on the frequency of their mentions in different work publications on Hacker News's Who's Hiring page. Note: Since TensorFlow 2.x, Keras is essentially part of TensorFlow. Note 2: Due to current global circumstances, the overall hiring rate of any software developers is declining.



I want to clarify that a paid certificate is not a guarantee of getting a job. However, in the world of online learning, where skills turn into goods, this is another way to show what you are capable of.



I consider this a pleasant addition to the existing list of personal projects that you worked on - courses form fundamental knowledge, projects form specific knowledge.



So how is all this done?



How to prepare for the exam



When I thought I was interested, I visited the Certification Program website and read the TensorFlow Developer Certification Guide.



From these two resources, I built a curriculum.



The curriculum reflects what I learned to develop the skills required to pass the exam



It should be noted that before I started preparing for the exam, I had some practical experience in building several projects with TensorFlow.



A seasoned TensorFlow or deep learning practitioner will likely be able to complete the next training program at about the same pace (3 weeks total) as I did (possibly faster).



A beginner can spend as much time as it takes. Remember: acquiring any worthwhile skill takes time.



I listed the terms, cost (in US dollars) and utility level (for the exam) for each resource. The timing is based on my experience.



If you are looking to create a curriculum for yourself, I would recommend something like the checklist below.



Note: Affiliate links were used for paid resources. This will not change the price of the resource for you, but if you acquire access to one of the materials, I will receive a part of this amount: I use this money to create such materials.



1. TensorFlow Developer Certification Handbook





Time: 1 hour.

Cost: Free.

Utility Level: Required.



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



If you are new to TensorFlow and machine learning, you are likely to read it and be scared of a variety of aspects. Do not worry. The resources below will help you familiarize yourself with them.



2. TensorFlow Coursera



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



Cost: $ 59 per month after a 7-day free trial, you can request financial support. If you can't access Coursera, see the equivalent free version on YouTube .



Utility Level: 10/10.



This is the most relevant resource for the exam (and getting started with TensorFlow in general). The attentive listener will notice the TensorFlow Certification Guide, and the contours of this specialization are nearly identical.



He is taught by Lawrence Moroni and Andrew Ng, two TensorFlow titans and machine learning, and if I had to choose only one resource to prepare for the exam, then this would be this course.



I appreciated the short video format and focused on practical examples as soon as possible. Numerous code files at the end of each section will be of great help to any student learning by doing.



Hint for programming exercises: do not just fill in the gaps in the code, but write everything yourself.



3. Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow 2nd Edition .





Time: from 3 weeks (reading from cover to cover, without exercise) to 3 months (reading from cover to cover and doing exercises).



Cost: Prices vary on Amazon, but I bought the paper version for $ 55. All code can be viewed for free on GitHub .



Usefulness level: 7/10 (only because some chapters are not relevant to the exam).



The book is over 700 pages long and covers almost all aspects of computer learning and therefore some non-exam topics. But it is a must-read for anyone interested in laying a solid foundation for the future of learning machine learning, not just passing the exam.



If you are new to machine learning, then you will most likely find it difficult to read this book (at the beginning). Again, don't worry, you have nowhere to rush, learning useful skills takes time.



Let's put it this way: if you want to get an idea of ​​the quality of the book, I read the first edition in the morning when I was driving to work as a machine learning engineer. And I can say that what I read in the book most often came in handy during the working day.



The second edition is no different, except that it has been updated to cover the latest tools and techniques, namely TensorFlow 2.x - which is what the exam is based on.



If you only need chapters relevant to the exam, you will want to read the following:



  • Chapter 10: Introduction to Artificial Neural Networks with Keras
  • Chapter 11: deep neural network training
  • 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: Sequence Processing Using Recurrent and Convolutional Neural Networks
  • Chapter 16: Natural Language Text Processing Using Recurrent Neural Networks and Attention


But for a serious student, I would suggest reading the entire book and doing the exercises (maybe not all, but those that best suit your interests).



4. Introduction to deep learning from MIT



Time: from 3 hours (I watched only 3 lectures) to one day (1 hour for each lecture, plus an hour for the review).



Cost: Free.



Utility level: 8/10.



A world-class deep learning course from a world-class university. I did not forget to mention that it is free?



The first 3 lectures, sections on deep learning (overview), convolutional neural networks (usually used for computer vision) and recurrent neural networks (usually used for text processing) are the most important for the exam.



But again, it would be beneficial for the diligent listener to complete the entire course.



Be sure to check out the labs and the code they offer on GitHub, especially the Introduction to TensorFlow... Again, I cannot fully articulate the importance of self-coding.



5. Getting started with PyCharm





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



Cost: Free.



Helpfulness level: 10/10 (use of PyCharm is mandatory).



The exam is conducted in PyCharm (Python development tool). I had never used PyCharm before the exam, and it is suggested that you familiarize yourself a little with it before starting the exam.

To get to know PyCharm, I watched a series of introductory videos on YouTube, and they were pretty straightforward: "This is what this button does."



But the main tests were checking that TensorFlow 2.x works without problems, as well as the ability to work with deep neural networks in a reasonable amount of time (my MacBook Pro does not have an Nvidia GPU).



To test these aspects, I copied the following two TensorFlow tutorials to my local machine:



  1. TensorFlow Image Classification
  2. Classifying Text with TensorFlow


However, as we will see below, as soon as I started taking the exam, I ran into a problem.



Additionally



Video from deeplearning.ai on Coursera / YouTube - The exam involves doing programming tasks (you need to write Python code), but if you want to know what goes on behind the scenes of the code you write (linear algebra, calculus), I would look these videos whenever possible. For example, if you don’t know what a gradient descent with mini-packages is, look for “deeplearning.ai mini-batch gradient descent”



TensorFlow documentation - if you are going to become a TensorFlow practitioner, you need to be able to read the documentation. If you don’t understand something, write a code and comment on it yourself.



Programming with TensorFlow on YouTube (playlist) Much of the TensorFlow specialization with Coursera in YouTube videos is taught by the same lecturer.



How I prepared for the exam



Armed with the resources above, I made a plan in Notion .



image



My Notion TensorFlow Certification Preparation Program. To track what needs to be done, I used the kanban technique, as well as various resources and notes. If you follow the link, you can make your own copy by clicking on the "duplicate" button in the upper right corner.



Every morning during May I got up, wrote, walked, read the book "Practical Machine Learning" for 1 hour, worked with TensorFlow in practice for 2-3 hours (first watched the lectures, and then did all the coding exercises in Google Colab), and at the end of each module I watched the corresponding lecture “Introduction to Deep Learning” from MIT.



For example, as soon as I finished the Computer Vision section of the practical specialization in TensorFlow, I watched a lecture on Convolutional Neural Networks (a type of computer vision algorithm) from MIT.



This triple approach has proven particularly effective.



The concept studied in the book was reinforced by code examples from the Coursera specialization and, ultimately, summarized by video material from MIT.



To get an idea of ​​the timing, I began to prepare for the exam on May 11 and passed it on June 3.



According to my observations (in Notion) and according to my handwritten bookmarks, on average I studied 20 pages per hour and took about 1 week of course content for 2-3 hours of study (without distractions).



Finally, a couple of days before the exam, I downloaded PyCharm and made sure that some of the code samples that I studied worked on my local machine.



Details - what happens during the exam itself



So, have you finished your training? Now what?



Well, let's start with two important factors.



Exam cost: $ 100 (after a failed attempt, you will have to wait 2 weeks to try again, with each failed attempt, the waiting time will increase).



Time: 5 hours. If it were not for the mistake at the beginning of the exam, I would say that I would have easily passed it in 3 hours. However, the increased time limit should give you enough time to train your deep learning models on your computer (so make sure everything works before the exam starts).



How the exam works



I am not going to reveal much here because it would not be fair. All I have to say is read the TensorFlow Developer's Reference and you will have a clear understanding of the main sections of the exam.



Practice each of the technologies mentioned in the manual (using the resources mentioned above) and you will be ready.



The nuances of the exam



Train Models - If your computer cannot train deep learning models fast enough (part of the assessment criteria is the representation of trained models), you can train them in Google Colab using a free cloud GPU and then upload them by placing them in the appropriate directories for the exam and send via PyCharm.



My Broken Python Interpreter - The exam preparation material emphasizes that Python 3.7 is required to pass the exam. When I started out I had Python 3.7.3. And for some reason, even though TensorFlow was running the day before on my local machine using PyCharm, after starting the exam (which automatically creates a TensorFlow environment for you), everything broke.



Namely, every time I ran at least one line of TensorFlow code, I got the error:



RuntimeError: dictionary changed size during iteration


Right now I'm not sure if this is the version of TensorFlow that the exam installed (2.0.0), or the specific version of Python that I had (3.7.3).



However, after a few curses and a tumultuous search in the depths of the old problem thread on GitHub , I came across a strange fix that meant I would have to change the source code of the version of Python I was using (specifically line 48 of lincache.py ) ...



# Previous line 48 of lincache.py
for mod in sys.modules.values():
# Updated line 48 of linecache.py
for mod in list(sys.modules.values()): # added list()


Note: this is a quick fix, as it was used only for the duration of the exam, so I’m not sure if it has any long-term benefits or if it leads to any consequences.



During my frantic search, I also read that the alternative is to update / reinstall the version of TensorFlow you are using in PyCharm (e.g. 2.0.0 -> 2.2.x). I tried it and it didn't work, however as a newbie to PyCharm I admit I was wrong about something as a user.



After fixing it, I was able to complete the exam with no problem.



What will happen after you finish the exam



You will receive an email notification when / if you pass the exam. There will be no reviews, except "Congratulations, you passed" or "Sorry, you did not pass this time."



Without any negative consequences, during the exam, you will receive fairly clear instructions - will you pass or not (every time you introduce a model, she gets a mark).



If you do pass, congratulations!



Be sure to fill out the form in the email to make sure you are added to the TensorFlow Certified Developer Network.



After you pass the exam and fill out the form in the confirmation email, you can access the Google Developers Certification Network in a couple of weeks .



image



Note: At the time of writing, I was not there. It will take 1-2 weeks.



Registration means that anyone looking for experienced TensorFlow developers will be able to find you based on your certification type, experience and region.



Finally, within a couple of weeks, you will receive an official certificate and TensorFlow developer badge by email (I haven't received mine yet). You will be able to add them to the projects you have worked on.



Questions



Can I just take courses, read a book and practice on my own, do I really need a certificate?



Of course you can. In the end, you should aim for skills, not certificates. Having certificates is good, but not necessary.



If you say that the certificate is not required - why did you receive it?



I like to have a challenge and work to cope with it. The appointment of a date (for example, "I'm taking my exam on June 3") left me no choice but to study.



Can I do this with free resources?



Sure you can. You can go out and learn all the skills you need by studying the TensorFlow documentation. In fact, when I need to practice something, I copy examples from the documentation (each line of code), practice understanding each line, and then try to repeat what I saw myself.



Why not PyTorch?



I love PyTorch. But they don't offer certification, and if they did, I probably would have passed it (for fun). In addition, an experienced user of both frameworks (PyTorch and TensorFlow) will notice that recent updates have made the two frameworks very similar. In addition, TensorFlow has an advantage in the corporate world (see chart above).



I don’t know anything about machine learning, where can I start?



Read the article"5 Steps to Machine Learning for Beginners . "



I passed the exam and signed up for the Google Developers Certification Network, what should I do next?



It's time to create! Use the skills you've learned to create what you would like to see in the world. And don't forget to share your work, you never know who will see it.



Didn’t mention something? Feel free to leave comments or ask questions by email. And I will answer.



PS, if you prefer to watch videos, I made a video version of this article.





image



Learn the details of how to get a sought-after profession from scratch or Level Up in skills and salary by completing SkillFactory paid online courses:











All Articles