How to learn TensorFlow for liberal arts and Python beginners

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.

Summary

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.

Short comment

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.

Learning purpose

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".

Total study time

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. 10.LearningTime01_Pie.JPG

Teaching materials used

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.

Learning method

I learned in the following order.

1. Environmental preparation (about 4 hours)

[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

2. TensorFlow tutorial for beginners using MNIST (about 10 hours)

[[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)

3. TensorFlow tutorial for Experts using MNIST (about 36 hours)

** 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)

4. Play with image recognition (about 2 hours)

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

5. Style conversion (about 2 hours)

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

6. OpenCV (about 29 hours)

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

7. Bing Image Search API (about 11 hours)

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

8. Yuki Kashiwagi facial feature survey (about 41 hours)

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]

9. TensorBoard Projector (about 2 hours)

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. TensorBoardProjector.gif

-[Introduction to TensorBoard: Projector] Make TensorFlow processing look cool

What I want to do in the future

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

How to learn TensorFlow for liberal arts and Python beginners
Python # How to check type and type for super beginners
How to make Python faster for beginners [numpy]
~ Tips for beginners to Python ③ ~
[For beginners] How to use say command in python!
How to convert Python # type for Python super beginners: str
[For beginners] How to study Python3 data analysis exam
[How to!] Learn and play Super Mario with Tensorflow !!
How to convert Python # type for Python super beginners: int, float
[Sakura Rental Server] (For beginners) How to build an environment for Python, pyenv, and Flask. | For csh
[For beginners] How to register a library created in Python in PyPI
How to install and use pandas_datareader [Python]
[Python] Organizing how to use for statements
python: How to use locals () and globals ()
Beginners read "Introduction to TensorFlow 2.0 for Experts"
How to use "deque" for Python data
[Python] How to calculate MAE and RMSE
How to use Python zip and enumerate
How to use is and == in Python
How to install MeCab (v0.996) and libraries for Python without administrator privileges
Memo # 4 for Python beginners to read "Detailed Python Grammar"
[Explanation for beginners] TensorFlow basic syntax and concept
The fastest way for beginners to master Python
How to make Spigot plugin (for Java beginners)
How to generate permutations in Python and C ++
Python for super beginners Python for super beginners # Easy to get angry
Causal reasoning and causal search with Python (for beginners)
Memo # 3 for Python beginners to read "Detailed Python Grammar"
[Python] How to read data from CIFAR-10 and CIFAR-100
How to install Python for pharmaceutical company researchers
Memo # 1 for Python beginners to read "Detailed Python Grammar"
How to use data analysis tools for beginners
How to convert SVG to PDF and PNG [Python]
Try to calculate RPN in Python (for beginners)
Memo # 2 for Python beginners to read "Detailed Python Grammar"
[Python] How to use hash function and tuple.
Memo # 7 for Python beginners to read "Detailed Python Grammar"
Introduction to Programming (Python) TA Tendency for beginners
Installing TensorFlow on Windows Easy for Python beginners
Memo # 6 for Python beginners to read "Detailed Python Grammar"
Learn how to inflate images from TensorFlow code
[For beginners] How to study programming Private memo
Memo # 5 for Python beginners to read "Detailed Python Grammar"
How to force build TensorFlow 2.3.0 for CUDA11 + cuDNN8
How to plot autocorrelation and partial autocorrelation in python
OpenGoddard How to use 2-python library for nonlinear optimal control and orbit generation
Tips for those who are wondering how to use is and == in Python
How to use OpenGoddard 3-python library for nonlinear optimal control and orbit generation
How to use OpenGoddard 4-python library for nonlinear optimal control and orbit generation
How to use Service Account OAuth and API with Google API Client for python
How to use OpenGoddard 1-python library for nonlinear optimal control and orbit generation
How to install Python
How to install python
python textbook for beginners
OpenCV for Python beginners
Rock-paper-scissors poi in Python for beginners (answers and explanations)
[BigQuery] How to use BigQuery API for Python -Table creation-
[Python] [Django] How to use ChoiceField and how to add options
Beginners! Basic Linux commands and how to use them!
How to run python in virtual space (for MacOS)
How to share folders with Docker and Windows with tensorflow