How the power engineer studied neural networks and the review of the free course ā€œUdacity: Intro to TensorFlow for Deep Learningā€

All my conscious life, I was a power engineer (no, now we are not talking about a drink with dubious properties).

I have never really been interested in the world of information technology, and even Iā€™m unlikely to be able to multiply the matrices on a piece of paper. Yes, and I never needed it, so that you understand a little about the specifics of my work, I can share a wonderful story. I once asked my colleagues to do work in an Excel spreadsheet, half a day has passed, I go up to them, and they sit and summarize the data on a calculator, yes, on an ordinary black calculator with buttons. Well, what kind of neural networks can be discussed after that? .. Therefore, I have never had any special prerequisites for immersion in the IT world. But, as they say ā€œwell, where we are notā€, my friends buzzed my ears about augmented reality, about neural networks, about programming languages ā€‹ā€‹(mostly about Python).

In words, it looked very simple, and I decided why not master this magical art in order to apply it in my field of activity.

In this article, I will omit my attempts to learn the basics of Python and share with you my impression of the free TensorFlow course from Udacity.



Introduction


To begin with, itā€™s worth noting that after 11 years in the energy sector, when you know and can do everything and even a little more (in terms of your responsibilities), learning radically new things - on the one hand, provokes intense enthusiasm, but on the other - turns into physical pain ā€œ gears in the head. "

I still do not fully understand all the basic concepts of programming and machine learning, so I should not be strictly judged. I hope my article will be interesting and useful to people like me - far from software development.

Before moving on to reviewing the course, Iā€™ll say that it will require at least a minimum knowledge of Python to study it. You can read a couple of books for dummies (I still began to take a course on Stepic, but have not yet mastered it).

There will be no complex constructions in the TensorFlow course itself, but it will be necessary to understand why libraries are imported, how a function is defined, and why something is substituted into it.

Why TensorFlow and Udacity?


The main goal of my training was the desire to recognize photographs of elements of electrical installations using neural networks.

I chose TensorFlow because I heard about it from my friends. And as I understand it, this course is quite popular.

I tried to start learning from the official tutorial .

And then I ran into two problems.

  • There are a lot of training materials, and they go into discord. It was very difficult for me to make at least a more or less complete picture of solving the problem of image recognition.
  • Most of the articles I need are not translated into Russian. It so happened that in my childhood I studied German and now, like many Soviet children, I donā€™t know either German or English. Of course, throughout my conscious life, I tried to learn English, but it turned out approximately as in the picture.



Having rummaged still on an official site, I found recommendations to take one of two on-line courses .

As I understand it, the course on Courcera was paid, and the course Udacity: Intro to TensorFlow for Deep Learning could be taken "for free, that is, for nothing."

Course content


The course consists of 9 lessons.

The very first section is an introductory one, they will tell you why it is needed in principle.

Lesson number 2 was my favorite. It was simple enough to be understood, and also demonstrated the wonders of science. In short, in this lesson, in addition to basic information about neural networks, the creators demonstrate how to solve the problem of converting temperature from degrees Fahrenheit to degrees Celsius using a single-layer neural network.

This is really a very good example. Iā€™m still thinking about how to come up with and solve a similar problem, but only for electricians.

Unfortunately, I stalled further, because it is rather difficult to learn strange things in an unfamiliar language. It saved me that I found on HabrƩ a translation of this course into Russian .

The translation was done with high quality, Colab notebooks were also translated, so later on I peeked at both the original and the translation.

Lesson number 3 is, in fact, the arrangement of the materials of the official TensorFlow tutorial. In this lesson, we learn how to classify images of clothes using the Multilayer Neural Network (Fashion MNIST dataset).

Lessons from number 4 to number 7 are also an arrangement of the tutorial. But due to the fact that they are correctly arranged, there is no need to understand the sequence of study yourself. In these lessons, we will briefly talk about ultraprecise neural networks, how to improve the accuracy of training and save the model. At the same time, we will simultaneously solve the problem of classification of cats and dogs in the image.

Lesson number 8 is generally a separate course, there is another teacher, and the course itself is quite voluminous. The lesson is about time series. Since this does not interest me yet, I looked through it diagonally.

Completes all lesson number 9, which is an invitation to take a free course on TensorFlow lite.

What I liked and did not like


I'll start with the pros:

  • Course - Free
  • The course is on TensorFlow 2. Some textbooks that I saw and some courses on the Internet were on TensorFlow 1. I donā€™t know if there is a big difference, but it's nice to learn the current version.
  • The teachers on the video are not annoying (although in the Russian version they are not reading as cheerfully as in the original)
  • The course does not take much time
  • The course does not drive into a sense of melancholy and hopelessness. The tasks in the course are simple and there is always a hint in the form of Colab with the right solution, if something is not clear (and a good half of the tasks were not clear to me)
  • No need to install anything, all laboratory work of the course can be done in the browser

Now the cons:

  • There is virtually no control material. No tests, no tasks, nothing to at least somehow check the course
  • Not all notebooks worked for me as they should. In my opinion, in the third lesson of the original English course, Colab gave an error, and I did not know what to do with it
  • . , Udacity . , , , . . 6
  • , , . (, Max Pooling).


Surely you already guessed that the miracle did not happen. And after completing this short course, it is impossible to really figure out how neural networks work.

Of course, I was not able to solve my problem after that with the classification of photos of circuit breakers and buttons in switchgears.

But overall, the course is helpful. It shows what things can be done with TensorFlow and in which direction to move on.

I think, for starters, I need to learn the basics of Python and read books in Russian about how neural networks work, and then take on TensorFlow.

In conclusion, I want to say thank you to my friends for pushing me to write the first article on ā€œHabrā€ and helping to arrange it.

PS I will be glad to your comments and any constructive criticism.

All Articles