How I received the certificate of the TensorFlow developer (and how to get it for you) /SkillFactory company blog /Habr
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 assignments a couple of days ago (June 3). It turned out that I passed the exam successfully.
Let me tell you how I did it, and how you do the same.
Wait a moment. What is TensorFlow in general?
TensorFlow is an open source numerical system that allows you to pre-process and simulate data (find patterns in them, usually through deep learning), and 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.
Usually you write code using TensorFlow in very understandable Python (this is what is required for the exam) or jаvascript (tensorflow.js), and it runs a number of basic functions written in C. These functions execute the commands you described earlier (do a lot of numerical calculations) .
Certification of TensorFlow Developers As you might have guessed, this is a way to demonstrate your ability to work with TensorFlow.
In particular, your ability to use TensorFlow (the Python version) when building deep learning models for a number 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 based on a number of past events).
Why do you need a TensorFlow developer certificate?
The first reason for it was fun. I wanted to give myself a little challenge in my work and find a reason to read the new book that I bought (more on this later).
But there are two other good reasons:
Gain the fundamental skills needed to build applications that use machine learning technology.
Demonstrate your competence to a future employer.
Speaking of future employers: based on page Hacker News's Who's Hiring (a page that lists monthly software developer job vacancies) TensorFlow seems to be ahead of other deep learning frameworks.
Comparison of different deep learning frameworks based on how often they are mentioned in various work publications on the Hacker News's Who's Hiring page. Note: Starting with 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 decided that I was interested, I visited certification program website. and read the TensorFlow Developer Certification Guide.
From these two resources, I built a curriculum.
The curriculum reflects what I studied to build the skills needed to pass theexam.
It should be noted that before I started preparing for the exam, I had some practical experience building several projects with TensorFlow.
An experienced TensorFlow specialist or a deep learning practitioner is likely to be able to complete the next curriculum at approximately the same pace (3 weeks in total) as I do (probably faster).
A beginner can spend as much time as needed. Remember: acquiring any worthwhile skill takes time.
I listed the terms, cost (in US dollars) and utility level (for the exam) for each resource. Timing is based on my experience.
If you want to create a curriculum for yourself, I would recommend something like the list below.
Note: Affiliate links were used for paid resources. This will not change the price of the resource for you, but if you gain access to one of the materials, I will receive a part of this amount: I use this money to create similar materials.
1.3-3r3150. TensorFlow Developer Certification Guide
Time: 1 hour.
Cost: Is free.
Utility Level: Mandatory.
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.3-3r3180. Practical specialization in TensorFlow on 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 cannot access Coursera, see the equivalent free YouTube version of .
Utility Level: 10/10.
This is the most relevant resource for the exam (and getting started with TensorFlow in general). An attentive listener will notice the TensorFlow certification guide, and the contours of this specialization are almost 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 format of short videos and focused on practical examples as soon as possible. Numerous code files at the end of each section will be very useful for any student studying in practice.
Hint for programming exercises: do not just fill in the gaps in the code, but write everything yourself.
Time: from 3 weeks (reading from cover to cover, without exercise) to 3 months (reading from cover to cover and doing exercises).
Cost: Amazon prices vary, but I bought a paper version for $ 55. All code is Watch for free on GitHub .
Utility Level: 7/10 (just because some chapters are not relevant to the exam).
A book of more than 700 pages covers almost all aspects of computer training and, therefore, some topics not related to the exam. But it is a must-read for anyone who is interested in laying a solid foundation for the future of learning machine learning, and not just for passing the exam.
If you are new to machine learning, then most likely it will be difficult for you to read this book (at the beginning of the journey). Again, don’t worry, you have nowhere to rush, learning useful skills takes time.
Let's just say: if you want to get an idea of the quality of the book, I read the first edition in the morning when I went to work as a machine learning engineer. And I can say that most often in the course of the working day I came in handy what I read in the book.
The second edition is no different, except that it has been updated to cover the latest tools and techniques, namely TensorFlow 2.x - on which the exam is based.
If you only need chapters that correspond to the exam, you will want to read the following:
Chapter 10: Introduction to Artificial Neural Networks with Keras
Chapter 11: Learning deep neural networks
Chapter 12: Custom Models and Training with TensorFlow
Chapter 13: Downloading 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 whole book and doing the exercises (maybe not all, but those that most suit your interests).
4.3-3r3302. 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 a review).
Cost: Is free.
Utility Level: 8/10.
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 word processing) are most important for the exam.
But, again, for an assiduous listener it would be useful to complete the entire course.
Be sure to check out the labs and the code they offer on GitHub, especially with Introduction to TensorFlow . And again, I can’t fully indicate the importance of writing code myself.
???-33346. Getting started with PyCharm
Time: 3 hours (depending on how fast your computer is).
Cost: Is free.
Utility Level: 10/10 (mandatory use of PyCharm).
The test is conducted at PyCharm (a Python development tool). Before the exam, I never used PyCharm, and before starting it is suggested to get acquainted with it at least a little.
To get to know PyCharm, I watched a series of introductory videos on YouTube, and they were very straightforward: “That's 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 manuals to my local machine:
Image classification using TensorFlow
Text classification with TensorFlow
However, as we will see below, as soon as I started taking the exam, I ran into a problem.
Video from deeplearning.ai on Coursera /YouTube - the exam involves performing programming tasks (you need to write code in Python), but if you want to know what happens behind the scenes of the code you write (linear algebra, mathematical analysis), I would watch these videos as much as possible. For example, if you don’t know what gradient descent with mini-packages is, look for “deeplearning.ai mini-batch gradient descent”
TensorFlow Documentation. - if you are withIf you plan 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) - Most of the TensorFlow specialization with Coursera in YouTube videos is taught by the same lecturer.
How I was preparing for exam
Armed with the above resources, I am made a plan in Notion .
My TensorFlow Developer Certification Program at Notion. 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 for 2-3 hours in practice (first I attended lectures and then did all the coding exercises in Google Colab), and in 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 as part of the TensorFlow practical specialization, I watched a lecture on convolutional neural networks (a type of computer vision algorithm) from MIT.
This triple approach has proven to be 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
So, have you finished training? Now what?
Well, let's start with two important factors.
Exam Cost: $ 100 (after an unsuccessful attempt, you will have to wait 2 weeks to try again, with each unsuccessful attempt, the waiting time will increase).
Time: 5:00. If it were not for the mistake at the beginning of the exam, I would say that I would calmly pass it in 3 hours. However, the increased time limit should give you enough time to train deep learning models on your computer (so make sure everything works before the exam starts).
How is the examarranged.
I am not going to reveal much here because it will be dishonest. All I will say is read the TensorFlow Developer Handbook and you will get a clear idea 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
Training models - If your computer cannot quickly learn deep learning models (part of the evaluation criteria is the presentation of trained models), you can train them in Google Colab using a free cloud GPU, and then download them by placing them in the appropriate catalogs for the exam and sending them through PyCharm.
My broken Python interpreter is - The exam preparation material emphasizes that Python 3.7 is required to pass the exam. When I started, I had Python ???. And for some reason, despite the fact that TensorFlow worked the day before on my local machine using PyCharm, after the exam (which automatically creates a TensorFlow environment for you), everything broke down.
Namely, every time I ran at least one line of TensorFlow code, I got an error:
RuntimeError: dictionary changed size during iteration
Now I’m not sure if this is the version of TensorFlow that the exam installed (???), or the specific version of Python that I had (???).
However, after several curses and a stormy search in the depths of 3–3–3553. old thread about problems on GitHub
, I found a strange fix that meant that I would have to change the source code of the version of Python I used (in particular, 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 a frantic search, I also read that the alternative is to update /reinstall the version of TensorFlow that you use in PyCharm (e.g. ??? -> 2.2.x). I tried, and it didn’t work, however, being new to PyCharm, I admit that I was mistaken in something as a user.
After the correction, I was able to finish the exam without any problems.
What happens after you complete theexam.
You will receive an email notification when /if you pass the exam. There will be no reviews, except for "Congratulations, you passed" or "Unfortunately, this time you did not pass."
Without any negative consequences, during the exam you will receive pretty clear instructions - will you pass or not (every time you present a model, it gets a mark).
If you pass it, I congratulate you!
Be sure to fill out the form in the email to make sure that you are added to the network of certified TensorFlow developers.
After you pass the exam and fill out the form in the confirmation email, in a couple of weeks you will be able to access Google Developers Certification Network .
Note: At the time of writing, I was not there. It will take 1-2 weeks.
Registering means that anyone looking for experienced TensorFlow developers will be able to find you based on your type of certification, experience and region.
Finally, within a couple of weeks you will receive an official certificate and a TensorFlow developer badge by email (I have not received mine yet). You can add them to the projects you have been working on.
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 a certificate is not required - why did you get it?
I like to have a challenge and work in order to cope with it. Assigning a date (for example, “I pass the exam on June 3”) left me with no choice but to study.
Can I do this with free resources?
Sure you can. You can go and acquire all the necessary skills by studying the TensorFlow documentation. In fact, when I need to practice something, I copy examples from the documentation (each line of code), work out an understanding of each line, and then try to repeat what I saw myself.
Why not PyTorch?
I love PyTorch. But they do not offer certification, and if they did, I would probably go through it (for fun). In addition, an experienced user of both frameworks (PyTorch and TensorFlow) will notice that the latest updates have made these 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 article “5 Steps in 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 acquired skills to create what you would like to see in the world. And do not forget to share your work, you never know who will see them.
Didn’t mention something? Feel free to leave comments or ask questions by e-mail. And I will answer.
PS, if you prefer to watch videos, I made a video version of this article.
Learn the details of how to get a sought-after profession from scratch or Level Up in skills and salary by taking the SkillFactory paid online courses:
Machine Learning course. (12 weeks)
Learning the profession of Data Science from scratch (12 months)
Analyst profession with any starting level (9 months)
Python for Web Development Course (9 months)
Cool Data Scientists do not waste time on statistics
How to become a Data Scientist without online courses
Sorting cheat sheet for Data Science
Data Science for the humanities: what is “data”
Data Scene on Steroids: Introducing Decision Intelligence
It may be interesting