[Self-learner] Learning summary (about deep learning, vision and learning experience)

The following is just the self-study experience from the postgraduate entrance examination to the first month of school. It is only for reference. It only represents the views at the time, not the current views. If I have time, I will publish a blog with some current suggestions. It is only a small suggestion. I am not It's very powerful, I just want to share the experience at that time, please bypass it automatically, the most important thing is to find a learning method and learning direction that suits you, and the one that suits you is the best. (Don't spray if you don't like it) 

Today is November 6, 2020. It's been exactly one month since I came to Shanghai. I want to write a study summary, and then start to try a new way of learning.

content

Learning material sharing

Learning about python

Learning about OpenCV+python computer vision image processing

Learning about Neural Networks

Basic learning about deep learning 

partial theory

 partial to practice

About Framework Learning

Hard

tensorflow

Pytorch

method thinking

basic learning

Solve the problem

new ideas new inspiration

summary


In March 2020, I began to contact computer vision and the keras framework. At that time, many of them didn’t understand it, bit by bit, and finally successfully completed my first visual project, which is my graduation project “People Based on Convolutional Neural Networks”. Design and Implementation of Facial Expression Recognition System. Now I briefly recall the learning process at that time, and summarize a little experience by the way. I hope it will be helpful to the students who are getting started. Let’s work together (the choice of some learning videos may not be very classic, but it is my own intentional or unintentional choice. , so it is for reference only).

Learning material sharing

Learning about python

The first time I came into contact with python was in October 2018. During the National Day holiday, I was alone in the undergraduate laboratory to brush videos, take notes, and input frantically. I was studying "[Little Turtle] Getting Started with Zero Basics to Learn Python". Unfortunately, I didn't fully use the CSDN blog at that time. I wrote all the notes in the Word document, and recorded a lot, which was a bit messy. At the beginning, it was a bit stupid to take notes. I took a lot of notes, and at the same time, I followed the code, constantly experimenting, making mistakes, and solving. Sometimes I will write a code to make myself happy when I encounter interesting things (screenshot of the circle of friends in the picture below).

B station link: https://b23.tv/kLRXOX (part of the catalog and screenshots)

Learning about OpenCV+python computer vision image processing

At first, I followed the whole study at station B, and took me to a video "OpenCV+python Computer Vision Image Processing". I started to take notes by hand and found it was too slow. I found that there is a video corresponding code in the introduction of the video, hurry up Download study. Follow the video to configure the required environment, follow the video to annotate the provided code, and write your own understanding. Originally, I used the Markdown editor of Typora to take notes. After a period of time, I should have not mastered it well (the problem of image reprinting has been delayed and unresolved), so I took notes directly on CSDN (see the column below). screenshot).

B station link: OpenCV+python computer vision image processing _bilibili _bilibili  (part of the directory and screenshots)

Screenshots of the column (some notes at that time are organized here, and some related ones learned later are also saved. Some places may be a bit messy, please advise.)

There are also some good book resources as follows:

Link: https://pan.baidu.com/s/1rAzNRaJSe8EwxWVVTCQp6g Extraction code: i924

Learning about Neural Networks

Every day I need to learn to strengthen the country. At that time, I saw the "Artificial Intelligence and Information Society" (partially theoretical, you can consider a simple introduction), which is taught by Peking University teacher Chen Bin.

I just started studying in Qiangguo, but later found that there was no double speed, which was a bit uncomfortable, so I went directly to the corresponding MOOC to study. I found that the MOOC was really good, I could download the corresponding PPT, and wrote some notes in the blog column "Neuron and Neural Network Study Notes"

MOOC Link: Artificial Intelligence and Information Society_Peking University_China University MOOC (MOOC)

Basic learning about deep learning 

partial theory

I studied with Mr. Wu Enda. Originally, I studied at station B. Later, I found out that there are courses in NetEase Cloud Classroom. The overall feeling is very good, the teacher repeatedly speaks very seriously, suitable for entry, partial theory. At the beginning, I took screenshots and took notes, but I found it was too slow. I accidentally found that Mr. Huang Haiguang wrote a matching "DeepLearning.ai Deep Learning Course Notes" for this course and it has been updated all the time. The latest version I have now is version 5.7. I also made my own notes based on the video explanations and course notes. Although many of them are copy and pasted, I still want to do it, make some key annotations and occasional summaries, which are more profound. (Wu Enda's deep learning notes column address: https://blog.csdn.net/dujuancao11/category_9871211.html  , it is recommended to watch the video to take notes, I just have to read it simply, I am for the convenience of my own review.)

NetEase Cloud Classroom link: https://mooc.study.163.com/smartSpec/detail/1001319001.htm

Screenshots of the supporting note cover and part of the table of contents:

Link: https://pan.baidu.com/s/142Lj7n5hneg-VgjgkM7fvg Extraction code: tj40 

 partial to practice

After studying the deep learning course of Mr. Wu Enda, I learned "Hands-on Deep Learning Pytorch Edition". This time I have a deeper understanding of some basic things of deep learning, and I prefer to use the Pytorch framework to achieve it, which not only deepens my understanding of the basics of deep learning. Understand the basics of deep learning, and simply learn the basic syntax of Pytorch.

Screenshots of some catalogues and books

Corresponding source code: https://github.com/ShusenTang/Dive-into-DL-PyTorch

Network disk link: https://pan.baidu.com/s/1HdATN4RZxdEDZbCtSrPUdw Extraction code: z66y

About Framework Learning

Hard

The framework I used for the first time was keras (Keras can be regarded as an API encapsulated by tensorflow), and there is a corresponding official document and a PDF document.

Keras Documentation: Homepage - Keras Documentation

Screenshot of the document part:

Network disk link: https://pan.baidu.com/s/1BVBjLTi0UGtP_VVkIzwVLw Extraction code: 1145 

tensorflow

I've touched it briefly, I need it when using Keras, and I've written a few blog posts about it before.

tensorflow entry variable constants: tensorflow entry variable constants - Clark-dj's blog - CSDN blog

3tensorflow four operations: 3tensorflow four operations - Clark-dj's blog - CSDN blog

The most headache should be the configuration of tensorflow-gpu . In this blog post: "Virtual Environment Installation" https://blog.csdn.net/dujuancao11/article/details/107468687  (There are a lot of things, it may be a bit messy)

You can also read this: "Simple installation of some common software in Python ( with links to Baidu network disk installation packages )" Simple installation of some common software in Python (with links to Baidu network disk installation packages) _ Clark-dj's Blog - CSDN Blog _python Installation package Baidu network disk

There are also problems that are prone to occur during the configuration process : "tf-gpu (detection, np.dtype([("qint8", np.int8, 1)]), not compiled to use: AVX2, CUDNN_STATUS_ALLOC_FAILED) " tf-gpu (detection, np.dtype([("qint8", np.int8, 1)]) , not compiled to use: AVX2, CUDNN_STATUS_ALLOC_FAILED) - Clark-dj's Blog - CSDN Blog

Pytorch

In fact, this framework is mainly contacted in "Hands-on Deep Learning Pytorch Edition", and has not been specifically studied, but there is also a learning document "PyTorch Official Tutorial Chinese Version".

Network disk link: https://pan.baidu.com/s/1k9XrhuPI3nFJP8tweNrLsQ Extraction code: w6ve

summary

The above recommends PyTorch

The above are some of the materials I used in the learning process, the complete Baidu network disk link: https://pan.baidu.com/s/1ygkz4rv2nZQrnn86i4Weyw Extraction code: 5u7y

method thinking

basic learning

  1. Basic learning : Improve the ability to search for information , learn to stand on the shoulders of giants and learn to search for the corresponding source code, e-books and PPT, etc.
    Some sources: CSDN, Station B, WeChat official account, Zhihu, Jianshu (Serious exploration will find that it is also good to learn from a strong country, such as new developments and new policies in a certain field, so that better decisions can be made.) I
    have to admit There are many excellent people around who are doing public accounts and videos at station B, such as my favorite WeChat public accounts: Shuai Di Playing Programming , Gongzilong , OAOA (my high school classmates), etc. CSDN blogger:
    Bubbliiing (really a role model ) ).
    Dissertation: I read too little, the next goal is to read the dissertation.
  2. Notes : It is necessary to take notes by yourself and choose a note-taking method that suits you. For example, I am accustomed to using CSDN blog to take notes. Although sometimes it is just a simple copy and paste, I still have to do it again. Some places are bolded and marked in red. In some places, write your own thoughts, summaries or doubts. Take notes in a timely manner, write a lot of blogs, and slowly start to be strict with yourself, although it is still far from the goal.
    Some problems that may be encountered:
    1) In order to solve a problem, I have read too many materials, but I have gained some results. I have no time to take notes. You can pick the key points to take notes, or you can set a time for yourself to write.
    2) There may be mistakes in blogs. Since they are basically self-study, there will inevitably be places where understanding is not in place. Please remember them boldly and continue to update and revise. (If there are mistakes in my blog, please point it out and work hard together. But the requirements are not too high, time and energy are limited, I will write as well as possible. Thank you for your support!)
    3) There are some relatively new ideas, considering the protection, may be Set to private.
  3. Communication : Communicate with tutors, seniors, and outstanding classmates around you, inspire a lot, and cherish everything now.

Solve the problem

  1. Mentality: I think you must have a good mentality. It is normal to have problems with downloading software, configuring the environment, writing code, debugging, and running. Many times a problem, a solution others can, you can not also normal, just try more (just toss well).
  2. Get inspiration from the question :
    Example 1: When I first started to learn about deep learning, I didn’t understand anything. I directly used the CPU to train the Fer2013 dataset and the Inception network. The training speed was impressive, too slow. Later, I realized that I could use GPU acceleration (see Passed this knowledge: Some experiences and suggestions on how to choose a suitable GPU card in deep learning - Zhihu ), and know that you need a graphics card that supports training (graphics card computing power table CUDA GPUs | NVIDIA Developer ), and later Learn to configure Tensorflow-gpu again.

    Example 2: A small accident, there is no sound in the screen recording video. I want to capture the PPT in the video. It is too slow to capture the 1 hour video one by one. Let’s try it with opencv. For details, see my blog post: video to picture (save a picture every few frames) opencv implementation_Clark-dj's blog-CSDN blog_opencv how to save pictures

new ideas new inspiration

  1. Participated in many academic conferences , most recently in CGCKD (the 2020 China Academic Conference on Granular Computing and Knowledge Discovery hosted by Shanxi University (the 20th China Rough Set and Soft Computing Academic Conference, the 14th China Granular Computing Academic Conference, The eighth three-branch decision-making academic conference)), the biggest learning is: the current stage of artificial intelligence is based on computing, and the next stage is based on memory. I also felt the love and passion of the teachers for academics and the role models of learning. I hope that one day I can become an excellent scientific researcher like them and do things in a down-to-earth manner.
  2. Practical : You must be good at connecting what you have learned in real life, and have a certain sensitivity. I think the ultimate goal of scientific research is to serve the society and people themselves.
  3. Be good at understanding some policy or subject trends , so as to make better decisions.

summary

The basics to share are over here. I have a little experience. In fact, I am under a lot of pressure to share this kind of "full disclosure", because I am also exploring many places, and I am not doing very well. But I'm still willing to sort out the previous bits and pieces of learning links and spend a few hours writing this blog post. I am grateful for everything now, I am grateful for the support and likes (484 followers as of now), I will work harder to write a blog.

I have spent a full month in my postgraduate life. I like the school. The teachers, brothers and sisters and classmates I meet are very good. I am very happy every day. I also study hard, explore slowly, and make friends seriously. Although I am busy most of the time, I am happy and fulfilled because I have a group of lovely people around me.

Although I don't know what will happen in the future, I will always keep my enthusiasm and work hard to move forward.

After knowing cessation, there is tranquility; after tranquility, one can be calm; Things have a beginning and an end, and things have an end. If you know what comes first, you will be near the road.

Also please give more advice, come on together!

Guess you like

Origin blog.csdn.net/dujuancao11/article/details/109525506