How to go from a beginner pythonist to a certified TensorFlow developer in two months

I still remember the day I passed my graduation work to university. I then heaved a sigh of relief, since this meant graduating from a bachelor's degree. But I was soon overcome by boredom. There was nothing to do, the world was gripped by a pandemic. I really wanted to find a new occupation that would save me from idleness. In this post, I want to share how the boredom of self-isolation helped me become a Certified TensorFlow developer in less than two months. And this is despite the fact that I have not programmed in Python before. Here, in addition, I will give a list of links to materials that I used, mastering a new field of knowledge for myself and preparing for certification.











Background



I love to study. A thirst for knowledge made me read a lot of news and articles about the pandemic. It was then that I came across an article about a group of researchers creating a new system that is able to distinguish pneumonia from COVID-19 based on the analysis of X-rays.



The article mentioned that the project uses "artificial intelligence" and uses "neural networks". This immediately interested me. How were humans able to build and train a machine that could analyze X-rays? Let's start with the fact that artificial intelligence does not even have a medical education. And he achieved more than 90% accuracy! This is how my journey into the deep learning rabbit hole began.



In short, I discussed it with a friend and found out about the existence of TensorFlow (and Keras). And then, while continuing to study various materials on this topic with curiosity, I came across an article , the author of which talks about how he became a certified TensorFlow developer.



Here I challenged myself, wondering if I could get such a certificate. True, I was worried that I did not have enough time for this. The fact is that I was going to go to work, and besides, at about the same time, my master's studies began. Moreover, I don't know anything about programming in Python. Will I be able to achieve my goal?



In my undergraduate degree, I studied applied mathematics for solving actuarial problems. This means that I am quite familiar with higher mathematics and statistics, I know what regression and time series are. But my knowledge of Python was close to zero. The only language I knew at the time was R. Although I find R to be a very versatile language that can meet the needs of those working with data, this language was unfortunately not suitable for taking the certification exam.



Certification in TensorFlow would be a major milestone on my journey as a self-taught data scientist and AI scientist. Perhaps I have already told enough about myself. It's time to talk about TensorFlow.



What is the TensorFlow platform and why learn it?



In a nutshell, TensorFlow is a widely used machine learning platform.



If we talk about TensorFlow in more detail, then it turns out that we have before us a free open source framework that covers all the needs for creating projects in the areas of machine and deep learning. This framework allows you to solve a wide range of tasks - from data preprocessing, to training and model deployment. TensorFlow was originally intended for Google's internal needs and was developed by the Google Brain team. Now this framework is used literally everywhere.



Now let's talk about why you should learn TensorFlow. The fact is that this platform is capable of solving many problems, and the fact that it is much more prevalent than you might imagine. It is highly likely that you, without even knowing about it, are using services created with TensorFlow.





Gmail Smart Reply Demonstration ( source )



Have you ever used the Smart Reply feature in Gmail? This mechanism is based on the capabilities of artificial intelligence. It offers the user three possible responses to an email based on the content of the email. The Smart Reply engine is built using TensorFlow.



Do you know what drives the feed on your Twitter account? What is the OCR (image to text) mechanism in WPS Office based on? How does VSCO recommend user profiles for you when analyzing your photos? These are all examples of how TensorFlow can be used.



At the time this article was written, TensorFlow had only been around for about 4 years. Moreover, this platform has been used in a large number of projects that we all use every day. While the article I mentioned about COVID-19 recognition from X-rays did not explicitly say so, it is likely that the researchers who wrote it also used TensorFlow.



In the future, as technologies of deep learning and artificial intelligence improve, we can expect the emergence of more products, services, scientific research, in which TensorFlow is used as a subsystem that implements deep learning technologies.



Machine learning and data science practitioners benefit from familiarity with this platform. And I, driven by this thought, became interested in becoming a certified TensorFlow developer myself. You may have had similar thoughts before. Maybe you are thinking about this while reading this article. You may have your own reasons for learning TensorFlow. In any case, if you decide to prepare for certification, you will find some details about it in the next section.



Details about certification





TensorFlow Digital Badge ( source )



The TensorFlow Certification Exam is conducted using Python. This exam uses the TensorFlow Python library and related APIs. One attempt costs $ 100. If the first attempt fails, you can pay the same amount and pass the second exam in 2 weeks. Details about exam fees and other similar things can be found here .



The exam consists of four main parts: creating and training a neural network using TensorFlow, image recognition, natural language processing, and working with time series. When passing the exam, you need to use the PyCharm IDE.



After I looked at the exam manual, I started planning my studies. First, I had to understand Python programming, and then I had to master TensofFlow.



First month of study



Maybe you have read so far without missing anything, maybe you just jumped here. In any case, please allow me to remind you of where I started. I was an average student of applied mathematics with nothing to keep myself busy and had no experience with Python programming. This student was suddenly eager to become, in two months, a Certified TensorFlow Developer.



Here I begin a story about how and what I studied during these two months.



In the first month, I was learning Python. How did I manage to learn to program in this language so quickly? I went to HackerRank first thingand started solving problems in Python. Lots of tasks. Whenever I came across something that I could not cope with on my own, I immediately started looking for other people's solutions. If a quick look at the solution did not allow me to solve the problem, I proceeded to a thorough analysis of other people's ideas, trying to understand the essence of the solution and highlight what would be useful to me.



I've been doing this for two weeks. After that, I was able to solve most of the problems, even difficult ones, without looking anywhere.



What did I do for the remaining two weeks? Watched free Python tutorials on YouTube. Yes exactly. Free. Lessons. On YouTube.



Of course, if you have the opportunity to enroll in a real Python course where the material is well structured, then you should certainly do so. The three video courses that I will link to below, I chose myself, in an effort to learn Python faster.



These videos are not particularly popular due to the fact that they are "free" and because whoever watches them will not receive any training certificate. As a matter of fact, here are the training courses that I think are quite worthy:



  • Python for Beginners. Python. , , (, , ), . , . , Python .
  • Python for Data Science Full Course. Python- -. . Keras TensorFlow. , , , .
  • Data Analysis with Python . Before creating models and training them, you need to prepare the data, subject it to preprocessing. For some reason, this is often forgotten. This course is mainly devoted to topics such as data collection, loading into a program, cleaning, visualization. Such work with data allows you to better understand them, this is beneficial to all further work with them.


Although I plan to enroll in a regular Python course, these three videos gave me everything I needed. If you also watch such courses, try to take notes as you watch them, write the code yourself, and try what they tell you about.



Second month of study



I spent my second month of study on the DeepLearning.AI TensorFlow Developer Professional Certificate , which can be found on Coursera. Courses in this specialization are taught by Lawrence Maroney, artificial intelligence at Google, and Andrew Ng, founder of deeplearning.ai .



The specialization includes four courses. Each of them corresponds to one of the aforementioned exam topics. One course lasts four weeks, but I studied the weekly materials in one day, since at that time this was my most important occupation.



After completing each course, I took a day off. On this day, I experimented with the code and slowly explored ideas related to the course.



In the end, it took me five days to complete each course. It took four days to review the course materials, and another day I spent resting and reviewing what I had learned. As a result, I was able to complete the entire specialization in 20 days.



Each course included programming tasks. I took these assignments seriously. Often, for example, I spent many hours experimenting with the hyperparameters of a neural network (when you start learning, you will know what it is) in order to get the best results from it. By doing this kind of thing, you can acquire a kind of instinctive understanding of how, through trial and error, to create neural network models.



Sometimes in the materials of the classes there were links to datasets, to articles, to other additional materials. While you didn't need to learn all of this to complete the course, out of curiosity I have worked through many of these resources. The course was mainly focused on practice. But they were usually given links to Andrew Eun's videos, in which he more clearly, with an explanation of the theory, revealed some things.



Alternative materials



You don't have to study the way I did to get certified. For example, instead of completing a paid specialization on Coursera, you can resort to other materials:







After I finished all the courses I had chosen on Coursera, I gave myself four days to review what I had learned and to re-read the exam manual. I started taking the exam on the 25th day of the second month of preparation.



The decisive day has come. And by the way, here is a cheat sheet with answers to the first batch of questions (if anyone does not understand - I'm just kidding). For obvious reasons, I cannot go into details about the exam, but below I have given some of my observations and tips regarding exam preparation and passing.



  1. , — IDE. , IDE PyCharm. IDE, , , , . PyCharm, , .
  2. . , ( , ). , , . .
  3. . . , . , , ( , , IDE ).
  4. . , , . , . — , .
  5. Models can be trained using resources from external platforms like Google Colab and AWS. Before starting the exam, learn how to save models that you have worked on on external platforms and load them into PyCharm. Models must be saved in .h5 format.


If you did a good job while preparing for the exam, and if you have mastered everything that is included in the exam plan, then you should pass it successfully. I can say with confidence that the manual contains sensible recommendations. You can test your readiness for the exam by assessing your knowledge of the topics mentioned in it.



I took the exam using my laptop, which is powered by an AMD processor and does not have a separate graphics card. At the same time, I needed to resort to the power of Google Colab only once, solving a problem that used a large data set. You, in order to understand whether your computer is suitable for the exam, can solve several practical problems on it. I believe that it is more worth worrying not about the computer, but about the speed and stability of the Internet connection, since you need to unload models to pass the exam.



Exam results



After I completed the exam, I immediately received an email informing me that I had passed the exam. An official digital certificate confirming successful passing of the exam will be sent within 2 weeks. It can be attached to your LinkedIn profile.



The certificate is valid for only three years. This means that in 2023 I will need to take the exam again. I can only guess how TensorFlow and the entire deep learning industry will develop by then. And I hope that then passing the exam will be easier for me than now.



Results and plans for the future



This, of course, is not the end. This is just the beginning. My first milestone in learning AI technology was my TensorFlow certification, and it inspired me immensely. This certificate has become my door to the world of data science. This is a bit odd, because usually, when it comes to aspiring data scientists, deep learning is like the icing on the cake.



I am glad that I was able to get a certificate and that I was able to write this article just a few days before starting work and studying. During two months of preparation, I devoted myself entirely to my new hobby. Artificial intelligence technologies give us seemingly endless possibilities for solving real problems.



I want to point out that I don't think my approach to self-study is the best. You can still work and work on it. For those who are not limited in time, it may not be worth rushing as I was. And in the process of studying it would be good for them to create their own projects. I think this approach to learning is better than mine. Now, even though I am a certified TensorFlow developer, I still need to make my own project and put it on GitHub. This is what I am going to do after I publish this article. This will allow me to improve my knowledge and skills.



I am confident that the world of artificial intelligence and everything connected with it is a fast-growing phenomenon, full of innovations, discoveries, scientific breakthroughs. This is the cutting edge of modern technology. There is a lot here that people have yet to learn and explore. If you want, you can also become a part of this world. I wanted to. And, bored during the quarantine, he began his journey.



Are you planning to become a Certified TensorFlow Developer?










All Articles