The author, who is a liberal arts member and a beginner in Python, learned TensorFlow for about three months. I will write down the learning method, time, and points to reflect on, hoping that it will be helpful for those who are learning from now on.
The table below shows the TensorFlow learning summary.
item | Contents |
---|---|
Learning purpose | Directly unrelated to the latest job, but self-development |
Posted Qiita article | 22 articles I'm writing about what I've done |
Acquired level | Basic Deep Learning processing can now be assembled with TensorFlow Of course it can not be difficult, accuracy, quality and speed are beginners themselves |
Total study time | 134h(About 3 months) * Including TensorFlow, 40h of OpenCV and Bing API learning time is included. |
Teaching materials used | [Experience in 4 days! ] An introduction to deep learning with TensorFlow x Python 3I learned in |
Execution environment | Win10, Anaconda, TensorFlow |
Python knowledge / experience | Python almost inexperienced |
Prior machine learning knowledge / experience | I learned a little at work |
Prior Deep Learning Knowledge / Experience | I haven't even read an introductory book |
Prior TensorFlow knowledge / experience | "What's that?" State |
Prior mathematical knowledge | Although he is a liberal arts graduate, he has become a member of society and has easily relearned high school basics and university basics. article"How to study mathematics for liberal arts graduates to understand statistics and machine learning"reference |
Pre-development experience | In the first two years of working life, I did a lot of minor language ABAP, but recently I only do it occasionally. For other languages, do some as needed. |
It took about three times as long as I imagined, but various things were ** very interesting ** from my eyes. I feel like I've become an apprentice kid level of TensorFlow engineer. However, I also feel that I have just learned the deep and really superficial part. There are many things that I don't understand about the internal processing, and I can't even understand the basics, let alone apply it. To be honest, I have no idea how much time it will take to reach a level where I can be proud of being a professional ... On the other hand, it is really amazing that TensorFlow can implement Deep Learning with the original theme even in such a state. I think it's true. Also, Anaconda was sober and helpful.
I don't even use machine learning, let alone deep learning and AI, in my current and recent work, but I learned with a strong desire to do something in the future. I also had a strong feeling that it would be "interesting".
The breakdown of 134 hours, which is the total study time, is like this. If you have experience with Python, you should have been able to compress it to about 2/3. It took a long time because I learned while checking basic commands such as IF statements. I just don't have enough time to learn. I managed to get some time between work and housework / childcare.
Do not use any books, [[Let's experience in 4 days! ] I only learned the basics in Introduction to Deep Learning with TensorFlow x Python 3. It's very easy to understand and the cost performance is good (it was about 1500 yen in the campaign). After that, I learned from the tutorials on the official website and online articles as appropriate. After all, I haven't read the book since then, so I have no idea if I should have read the introductory book first. I can only say that it was not essential.
I learned in the following order.
[Experience in 4 days! ] Introduction to deep learning with TensorFlow x Python 3 had the contents of environment preparation, so I installed it while referring to it. I have Anaconda installed and I have TensorFlow in my virtual environment. ** Fortunately it was easy without any errors. ** **
-Installing TensorFlow on Windows was easy even for Python beginners -Official Site: Installing TensorFlow on Windows
[[Experience in 4 days! ] There was also a course content in Introduction to Deep Learning with TensorFlow x Python 3, so I understood and implemented it while referring to it. However, Udemy did not have the contents of Official Site: Getting Started With TensorFlow, so [Official Site: MNIST For ML Beginners](https: //) I did it after (www.tensorflow.org/get_started/mnist/beginners). The opposite is more efficient. I'm really glad that I learned math to understand the Softmax function (although I should be able to understand it roughly even at the junior high school math level). Honestly, this tutorial level is ** not too difficult ** (although I'm skipping it without understanding gradient descent ...). I despised Deep Learning a little here.
-[Explanation for beginners] TensorFlow basic syntax and concept -Official Site: Getting Started With TensorFlow -[Explanation for beginners] TensorFlow tutorial MNIST (for beginners) -[Official Site: MNIST For ML Beginners] (https://www.tensorflow.org/get_started/mnist/beginners)
** It was difficult and I stumbled upon understanding. ** This tutorial is also [[Experience in 4 days! ] There was also a course content in Introduction to Deep Learning with TensorFlow x Python 3, so I understood and implemented it while referring to it. Thanks to the content of the course, I was able to save a lot of time, but the content of the course alone is overwhelmingly insufficient to understand. In order to understand it, I searched variously on the net, read it, and tried it (especially helpful was link % E7% 90% 86% E6% A6% 82% E8% A6% 81% E3% 82% 92% E5% B0% 91% E3% 81% 97% E8% A9% B3% E7% B4% B0% E5 Described in% 8C% 96)). Anyway, I learned a lot, and if I understood the contents while summarizing them in Qiita, I wrote 7 articles. In particular, ** TensorBoard is important because it is a very useful tool for understanding TensorFlow **.
-[Explanation for beginners] TensorFlow Tutorial Deep MNIST -Official Site: Deep MNIST for Experts -Install matplotlib and display graph on Jupyter Notebook -TensorFlow API memo -[Introduction to TensorBoard] Visualize TensorFlow processing to deepen understanding -Visualize TensorFlow tutorial MNIST (for beginners) with TensorBoard -Official site: TensorBoard: Visualizing Learning -[Explanation for beginners] Introduction to convolution processing (explained in TensorFlow) -[Explanation for beginners] Introduction to pooling processing (explained in TensorFlow)
Introduction to Deep Learning with TensorFlow x Python 3 also had the same course content, so I implemented it while referring to it. However, I don't understand the code or processing, I just execute the program using the learned parameters on Github. ** A feeling of relaxation and play. ** ** However, the code is important and should be very helpful when recognizing images in the future.
-Beginners tried playing with TensorFlow image recognition easily -Official Site: Image Recognition
Similarly, Introduction to Deep Learning with TensorFlow x Python 3 also had the same course content, so I implemented it while referring to it. However, I don't understand the code or processing, I just execute the program using the learned parameters on Github. ** A feeling of relaxation and play. ** **
-Beginners tried playing with TensorFlow image style conversion easily
It's different from TensorFlow, but I learned it to collect images on the net and detect faces. I'm surprised that this is free to use. It took me a while to understand the algorithm for face detection. And we are doing a lot of trial and error to detect a large number of images. If I had time, I wanted to compare it with Azure Face API.
-Install OpenCV 3.3 and Python 3.6 on Windows 10 with Anaconda -[Explanation for beginners] openCV face detection mechanism and practice (detectMultiScale) -Specify parameters in openCV face detection to quickly improve detection accuracy -Face detection from multiple image files with openCV and cut out and saved -Tips for efficient face detection with openCV
It's different from TensorFlow, but I learned it for collecting images on the net. It's just an API call **, so I didn't spend that much time. Even so, it took 11 hours because of my lack of Python experience ... And I wanted to collect a large number of images from one search term, but I could not collect more than 1000 images due to API specifications. ([Link](http://qiita.com/FukuharaYohei/items/6d0aefb16dd78eb03a08#%E3%82%84%E3%82%8A%E3%81%9F%E3%81%8B%E3%81% A3% E3% 81% 9F% E3% 81% 91% E3% 81% A9% E5% AE% 9F% E7% 8F% BE% E3% 81% A7% E3% 81% 8D% E3% 81% AA% See E3% 81% 8B% E3% 81% A3% E3% 81% 9F% E3% 81% 93% E3% 81% A8)). If I had time, I wanted to compare it with Google Custom Search and so on.
-Call Bing Image Search API v5 from Python to collect images
I did it with the original theme as a summary of 3 months. I don't have my favorite idols or anime characters, so I tried to find out how TensorFlow extracts facial features as a learning experience. Up until now, the coding was only hairy in the tutorial, but finally I was able to work on a slightly more original code. ** The process of understanding the internal mechanism is interesting **.
-[Introduction to TensorBoard: image] TensorFlow Visualize image processing to deepen understanding -Yuki Kashiwagi's facial features to understand TensorFlow [Part 1] -Yuki Kashiwagi's facial features to understand TensorFlow [Part 2] -Yuki Kashiwagi's facial features to understand TensorFlow [Part 2]
I had a half-hearted feeling, and I learned while I was there. I like how cool it looks, so honestly, it's a bonus level.
-[Introduction to TensorBoard: Projector] Make TensorFlow processing look cool
I want to do various things such as NLP (natural language processing) and improving the accuracy of image recognition. However, I haven't decided what to do because the time is limited. Someday, I would like to revenge the series "I examined Yuki Kashiwagi's facial features to understand TensorFlow."
Recommended Posts