Recently, Lao Pan has nothing to do. From the perspective of an ordinary algorithm engineer, combined with his own situation and the situation of people around him, he made a rational and perceptual analysis of the 2020 China Computer vision Talent survey report released by Pole Market platform a few days ago.

The following “computer vision talent” referred to as “talent”, feel said talent a little strange feeling? Are you a genius yourself? Old Pan is just an ordinary algorithm engineer.

The report is divided into several aspects, which are summarized in plain English:

  • Which city has the most computer talents, which major, what papers do they like to publish, what programming languages do they like, what deep learning frameworks do they like, where do they work, etc.
  • As computer talents, what should we learn to avoid being eliminated by the society and how to improve ourselves
  • Computer talents also have problems, whether in school or at work…

. All you want to know.

Again, the report is jointly published by Geishi Platform, China Society of Image and Graphics, and Deloitte. The following images are from the report and have not been modified. A total of 34 pages of the report in PDF, interested in the public account “000” to reply.

Oh, cut the crap and start the analysis.

Section 1 Talent status quo?

Let’s take a look at the talent distribution, okay?

In the research talent distribution, master’s degree and bachelor’s degree account for 80%, which is quite normal. Master’s degree is more engaged in algorithm engineering, and doctor’s degree is more engaged in algorithm research. In general, in Internet companies, most of them are algorithm engineers with master’s degrees, and the interns are all master’s degrees. Of course, there are also a few undergraduates, especially excellent undergraduates should also be able to become algorithm engineers.

The advantages of graduate students over undergraduates may be:

  • Degree, and how many more years of schooling?
  • But the most important thing is that at the graduate level you have LABS, and LABS, if they’re well resourced and well funded, can do things that other people can’t do.

Back when I was an undergraduate, everyone had to contribute to the competition, and all the equipment had to be deducted from the living expenses of the team, and even the purchase of a control board had to be carefully calculated. When they don’t get good awards (bonuses), they often go beyond their means.

It was a real love, and the days of staying up all night are gone.

There is another difference between undergraduate and postgraduate projects: undergraduate students do not have constraints, but compete more with interest and initiative; Graduate students are supervised by their supervisors, and most of them do projects at the request of their supervisors. Attitude is everything, interest is the motivation of continuous learning.

Oh, and it’s worth considering that “among those with relevant experience, there is slightly more algorithmic experience than engineering experience”.

Lay the engineering foundation well!

Look at the geographical distribution

There is no doubt that the number of talents from Beijing will be the first, for the simple reason that Beijing has the most ARTIFICIAL intelligence enterprises and the best Internet atmosphere. Of course, people come to Beijing. Next, Shenzhen is a capital of entrepreneurship, with enthusiasm for entrepreneurship and more hardware companies. There are a lot of enterprises combining robots and AI. The most famous is DJI.

Good companies are being divided up in tier 1 and Tier 2 cities, what about other places..

Lao Pan was also faced with the harsh truth: I could not find a job in my hometown for my major and technical direction.

Professional distribution

Look at the specialty distribution.

Those who learn computer major is good, computer relevant major is looking for a job to have certain advantage, after all somebody else bottom child is a few better. But we do not lose heart, now is the era of self-study, good resources on the Internet a lot, as long as you are willing to work hard to learn, not necessarily worse than professional computer.

Major (differ too big major, for example rural design, this difficulty may be some bigger) with you go to school phase to learn what concern is not very big, the key still sees oneself.

While in school, find some organizations, find some information, quickly learn!

The research field

Sure enough, target detection was the highest.

Target detection is the best entry, the most information, the most variants, the most code… It is especially suitable for graduates to choose topics for graduation projects. But if you are looking for algorithm development related work, only target detection is far from enough.

When Lao Pan was looking for a job the year before last, he also focused on target detection. At that time, he had already talked with a company leader during his internship, and promised to have another interview during the autumn recruitment. However, in the autumn recruitment, the leader told me embarrassedly that their company already had a large number of people in task development related to target detection, and they wanted to recruit candidates with EXPERIENCE in 3D generation or GAN projects. In a word:

You’re good, but you’re not for us.

However, the needs of different companies are different. Target detection is still in large demand for most companies.

With the development of The Times and the continuous progress of AI, you have to ask me where is the CV field still not written?

I don’t know

Distribution of published papers

What topic is hair paper best hair? Target detection, of course.

I have to make a joke. No matter the anchor-base or anchor-free detection framework, you can write a paper by changing your head, neck and backbone. What? Don’t change? Then change the data set ~ same framework, change the scene, another hero.

Favorite programming language

As pan said before, the most popular AI languages are Python and C++.

Both Pytorch and Tensorflow, the most popular deep learning frameworks, and TensorRT and TVM, the more popular models for accelerated reasoning. Both provide Python interfaces to interact with users and apis for users to use, but the actual kernel code is written in C++. The reason is simple, to ensure performance and ease of use of various accelerators (MKL, cuDNN). In addition, the various features in C++ are also suitable for team development of large projects, interested in reading the relevant source code, feel its awesome place.

For those interested in Pytorch’s source code, see:

  • A Tensor’s Life (Pytorch)- Part 1
  • A Tensor’s Life (Pytorch)- Part 2

There are a lot of here temporarily not introduced, interested can pay attention to Lao Pan, from time to time will analyze a ha framework.

Favorite deep learning framework

The following is true.. Domestic deep learning frameworks have a usage rate of less than 7% (it should be more than 7% this year, paddlePaddle is good), and Pytorch and Tensorflow still rule.

PS: It feels like Darknet was made popular by Yolov3, and has been updated constantly… Pure C is simply not too good for industry out of the box. Caffe2 is a shame. MXNet is small and beautiful.

Old Pan rational analysis a ha. For students, the ease of use of the framework and the completeness of the community is very important (in other words, there is not much information on Baidu). There are just beginning to enter the small white, will listen to others say what good what good, follow the trend of use; But for the company, it is basically to choose the framework according to the actual needs. For example, this model is only available in the open source version of Tensorflow. Is there Pytorch or not? Replays take too long, so get started with Tensorflow. After all, it’s business driven, and output is the first goal, and vice versa.

At present, Pytorch enjoys a large share in both students and companies. Pan started using Pytorch for deep learning research three years ago, when it was version 0.2. TensorFlow at the time was like an ant and an elephant. But within two or three years, the ants have grown up.

The reason companies prefer Pytorch is simple:

  • Pytorch implements most of the various models (e.g. CenterNet, FCOS)
  • Multiple integrated training frameworks based on Pytorch(MMDET, DETECtron2)
  • Pytorch trained models are also easier to deploy (various inference frameworks support Pytorch more, such as TensorRT)
  • More obscure reasons (e.g. debug is convenient, newbie friendly, etc.)

Of course, TensorFlow also has advantages. Tensorflow-server is used by many companies. Although some of it is due to historical reasons, its stability and reliability are still better than most servers.

PS: A Server inference framework comparable to Tensorflow-Server — Triton-inference -Server, formerly tensorrt-Server, is now open source. You can deploy all kinds of framework models (TensorRT, Pytorch, TensorFlow, Onnxruntime, etc.)

What? Does the above framework not satisfy you? Do you want to handlift a frame and do it yourself (seriously doubt you’re here to show off)? In your student years, you can spend some time writing a small frame that mimics other large frames to practice. Here are some recommended projects to look at and learn from:

  • tinyflow
  • tinygrad
  • C++ template metaprogramming – a preliminary implementation of a deep learning framework

In general, frameworks have both training and reasoning functions. But the training part is hard to write, and if it’s just reasoning, it’s easier. Many frameworks have only inference functions. If you are interested in them, you can refer to them.

  • NCNN
  • MNN
  • TVM

If hardware companies (many of which are hardware startups) use their own chips, there will also be corresponding AI underlying algorithm engineers to build products like TensorRT, write op, manipulate memory interfaces, and eventually produce dynamic link libraries like TensorRT, exposing apis for the upper layer to call.

Anyway, it’s better to be comfortable with frames. I like to use Pytorch!

Salary history

Most Internet companies probably pay more for algorithms than developers, but not by much (really).

Most algorithm engineers also do development work, just with the algorithm property attached. Only real algorithm researchers really study algorithm theory and quit new algorithms.

For hardware companies (Vivo, Oppo, etc.), there is no difference in salary between algorithm engineer and development engineer (master’s degree). There are several grades, depending on their level. However, some research positions only require PhD participation, which is the gap between PhD and master.

For master’s students, algorithms and development is not as big as imagined, and there is no so-called chain of contempt.

Industry distribution

The industry distribution is relatively relevant, and the field of artificial intelligence is closely related to deep learning. Most Internet companies also have a lot of deep learning business lines, such as Kuaishou, Douyin and other AI games, which are deeply related to deep learning.

There are e-commerce search map, virtual makeup; Video teaching in the field of education course interaction, photo search, intelligent marking and so on. These are now very common into the life of AI scenes, you can say that AI is everywhere.

Borrow from the report:

Since 2018, the global computer vision technology continues to mature, and the establishment of open source ecology, technical community and artificial intelligence open platform also lowers the threshold of algorithm development and application significantly. In its “White Paper on the Development of Global Artificial Intelligence”, Deloitte pointed out that computer vision driven by deep learning has surpassed humans in some areas, especially in tasks such as face recognition and image classification. At the same time, in our country, the application of computer vision technology has a huge market space and rich scene data, thus when required by the technical maturity to achieve industry, many vertical industry, especially the head enterprise in the industry, we chose to build computer vision throughout the organization team, make industry exclusive computational vision algorithms products or related functions.

Section 2 Personal expectation and planning of talents

What can talent plan for? They just want to improve their skill level and salary level.

The city will

As an algorithm engineer, Pan went to Beijing without hesitation because there were many Internet opportunities in Beijing. In fact, for any workers, where the job opportunities more of course to where, in the home empty a skill, but can not find the right job is the most helpless.

Of course, it is also related to the development of the city and the salary of the company. Big cities pay more money, but the rent is high, while small cities pay less money, but the rent is cheap. Where to go is up to you.

Improve yourself

One of the reasons why programmers are a good career for young people is that new technologies come along so quickly that we need to constantly learn new things based on business needs, preferably quickly. Young people, they learn what they can’t learn.

As the picture above makes clear, most programmers are self-taught. Self-study is an active process, looking for information and deciding what to learn next. Although a little tired, the efficiency of study is amazing.

Personally, I think online paid video can be watched, but it is not necessary. The video is just auxiliary. And passive learning sometimes makes me feel like I have learned a lot of illusion, Lao Pan reminds me, if you just watch the video without actual combat (finish some homework), you will forget it after a short time.

If you have a problem, just search Baidu or Google. Most technical articles come from the following platforms, which are good places to exchange technology:

  • zhihu
  • CSDN
  • The Denver nuggets
  • Blog garden
  • Open source in China
  • Tencent Cloud Community
  • , etc.

Of course, there are many excellent personal blogs, but I won’t list them all here. Shamelessly advertise your blog (escape) :

  • Oldpan blog

Job choice?

Algorithm engineer or the most fragrant, suitable for algorithm and engineering both children’s shoes.

College teachers and highly effective graduate students are suitable for children who like to do research and explore new directions.

AI product manager and AI project manager as Lao Pan knows, the threshold is relatively high. Large factories generally require children’s shoes with internship experience.

Change of research interest

The report states:

In the development process of computer vision technology, with the continuous breakthrough of frontier theory and the change of industrial application trend, the research direction of talents in the field of computer vision is also adjusted accordingly. The report conducted a survey on the fields that employees hope to study in the future. The results showed that target detection, image segmentation, text understanding and target tracking are still the key directions for future research of computer vision talents. Meanwhile, the research interest rank of medical image processing recognition rose from 7th to 5th. This may be related to the sudden increase in demand related to computer vision in healthcare following the COVID-19 pandemic.

Object detection is still a very hot research area at the moment, after all, it needs to be placed there. Pan suggested that students should try different algorithms in different directions rather than putting apples in one basket.

Section 3 Society’s demand for talents

The master level is a stepping block for algorithm engineers, because there were few deep learning projects in undergraduate study, most of which were just ACM or Undergraduate Electronic Design Competition. It has nothing to do with artificial intelligence.

Now the conditions are good, deep learning is also popular, most universities have opened relevant courses. My Cousins have participated in some teachers’ projects during their undergraduate period and began to train yolov3 model to deploy on TX2 to participate in some competitions, which is not fundamentally different from what graduate students do, which was unimaginable five years ago.

Now is the era of universal AI, AI is everywhere.

The technical requirements

It is true that there is only one requirement for talents:

  • Can help me solve the problem!

However, solving problems is not as simple as it actually is. It requires a solid foundation and strong learning ability.

In the enterprise, different from in the school, the toy required by the enterprise is not demo level, but more stable and reliable, accurate to meet the requirements and can be online. It seems simple, but there are many difficulties. It is completely different from the college scene, so it is suggested that you participate in some practical projects in college as much as possible, have feedback, and do not get high.

PS: As an algorithm engineer, it is often stressful! Thanks to everyone, Pan’s hair is still thick…

Other Required positions

Just one caveat: It’s not just CV, graphics, AI that’s relevant. With the continuous popularization of deep learning, every layer has AI and computer vision related positions, from the algorithm layer to the software layer and down to the hardware layer.

The post name is multifarious, here only say, the name is on the one hand, go in to see the post introduction most reliable!

On the algorithm post distribution and characteristics of Lao Pan after the time will be summarized a wave.

Section 4 Cultivation and Development of Talents

Although most of us are self-taught, we can feel as if we have a computer. However, for the expensive direction of deep learning, it is best to have equipment and machine. Here are the equipment we may need for learning:

  • Graphics card (necessary for deep learning training), as for the choice of graphics card, you can see my previous article to give you a list of configuration: Machine learning, deep learning computer graphics card configuration guide, although it is the previous, but still has reference significance.
  • Inference cards (if you don’t train, just deploy), like nvidia’s TX2, Xavier series, Jetson Nano series, or Raspberry PI series. This kind of board is suitable for some engineering projects, similar to deployment landing

As for the deployment, Lao Pan has something to say:

  • CV algorithm volume is serious, but we can look at the visual algorithm industrial deployment and landing technical knowledge

For those who do not have resources in the lab but want to participate, they can buy the graphics card by themselves (briefly mentioned here, they can buy the 3060-12G graphics card released on February 26th, with the official suggested price of 2499 and performance similar to the previous 1080Ti. If they can get it, this card is very suitable for deep learning). You can also pay for some GPU resources (such as Kaggle) :

  • Portable GPU Server: Quick Start guide for Kernels in Kaggle
  • There are some white piao GPU resources Lao Pan has not sorted out, after will release relevant articles (pay attention to Lao Pan not bad).

Rest assured, as long as you really want to get into deep learning, GPU resources are not a big problem, you can solve it in various ways, the key is to have enthusiasm and interest. After all, deep learning is bound to be a bumpy road.

Troubles at school and at work

What can you worry about at school? Old Pan thought he was comfortable at school… Learn what you want to learn, do what you want to do.

However, there are bound to be some students who are not satisfied with the status quo and want to break through and find something to do. At this time, if the mentor is not helpful, or to rely on their own initiative to find something to do ~

You can also communicate with me if you have any questions.

About the development bottleneck of graduate tutor and artificial intelligence company (trouble), is not what we consider, just look at it!

About the course

The basic college curriculum is as follows, the curriculum basically serves as a guide to entry. Eager to learn, we are more hope to find their own interests like the course to learn.

Resources for the course are limited by space. Check out this one:

  • In 2021, can we still get into deep learning?

As stated in the report:

In the short term, there are still no small challenges for colleges and universities to offer courses in specific fields:

  • On the one hand, computer vision is widely segmented and students’ interests are scattered, so courses in segmented fields may not be able to meet the needs of all students.
  • On the other hand, due to the rapid technology iteration in this field, and the learning of some fields needs the support of practical cases of diversified industries, it is difficult to set up courses.

Therefore, most college courses are based on the foundation, which is very suitable for beginners. Lao Pan just wants to say: Cherish the good time in school, study hard, and don’t waste time

The last

Time always flies. I still remember watching Ng and Li Hongyi’s classes with relish when I was just getting into deep learning, although I didn’t know anything. Three years have passed in the twinkling of an eye, and now the whole nation has become AI. Although he is sometimes confused, Lao Pan, who has stepped into deep learning, will still stick to it no matter what form he takes.

I hope you can stick to it with me

Some of the shared resources mentioned in this article are here.

Liao I

  • If you are like-minded with me, Lao Pan is willing to communicate with you;
  • If you like Lao Pan’s content, welcome to follow and support.

If you want to know how Pan learned to step on a pit (PS: want to talk to me about the problem) come to me on the public account “Oldpan blog”. Pan will also organize some of his own collection, hoping to help you, check out the mysterious portal

Pulled me

  • If you are like-minded with me, Lao Pan is willing to communicate with you;
  • If you like Lao Pan’s content, welcome to follow and support.
  • If you like my article, please like 👍 collect 📁 comment 💬 three times ~

If you want to know how Lao Pan learned to tread pits, and if you want to talk with me about his problems, please follow the public account “Oldpan blog”. Lao Pan will also sort out some of his own private stash, hoping to help you, click on the mysterious portal to obtain.