A
A
AndrewMorozov20002021-08-10 09:41:25
Computers
AndrewMorozov2000, 2021-08-10 09:41:25

How to choose hardware for neural network training?

Good afternoon.

I was interested in doing my own project on machine learning on the topic of human pose estimation. And I have a little general question. Are there approaches / metrics in assessing the computing resource of the hardware required for training and further operation of the neural network?

That is, now I have an Intel Core i5 8265U 1.6 GHz processor with 4 cores, is it advisable to work on such a project on it or should I think about buying more powerful hardware for such a task?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
R
rPman, 2021-08-11
@AndrewMorozov2000

Network size and architecture plus training sample size.
The number of GPU cores is not always decisive, the size and speed of GPU RAM has a greater influence.
The first metric, more precisely, the boundary below which the learning rate is maximum - the amount of network weights plus the training sample must fit into the GPU RAM.
Several GPUs allow you to almost linearly reduce the requirements for the size of the training sample - since you can divide the sample into parts and calculate the error at each step in parallel (by the way, this is not always possible).
The next limit is that the training sample does not fit into the GPU but fits into RAM, while the neural network itself fits into the GPU, i.e. the computation of the network itself is still fast, which means the only limitation is the bottleneck between RAM and GPU.
The next limit is that the training sample does not fit into RAM in principle (for example, hundreds of gigabytes of video), in this case, the speed of reading from storage can become a bottleneck (but in practice they adjust so that the processor and gpu become a bottleneck, you can often find how to parallelize).
Well, further, it is better not to consider the option when the network does not fit into the GPU, since then most likely the task will be solved only with huge money.
And yes, the task may not be solved by one network, it can be several networks of different classes and purposes, and they cannot be parallelized (sequential learning).
Data preparation is also of great importance, it can take a significant amount of resources (and until you prepare them, you cannot start the next stage of network training) and most importantly, since the task is being studied, data preparation can be far from single, as long as the task is resolved. For example, you prepared the data, it took a couple of days on your machine (and the GPU was not even involved), but then a week of raping video cards could not build the network, i.e. it stupidly did not converge, or vice versa, it retrained, memorizing the training sample but failing the test one ... you have to redo the entire sample, changing the algorithm and method of preparing data, again preparing the data for days and again. There may also be experiments with editing the network itself (for example, thinning out the weights), which also takes time ...
in general, this is a creative process and it is impossible to give any guarantees without proper research.

S
Stefan, 2021-08-10
@MEDIOFF

You are just learning, don’t worry about hardware, you won’t train models from scratch, so do what you have, there are platforms like google colab.
PS: for machine learning, look at the video card and the number of CUDA cores

S
Sergey Sokolov, 2021-08-10
@sergiks

Your computer is enough to access the Internet and work in Google Colab : training models on their resources, incl. with GPU.
To estimate resource requirements, you can look at the total number of weights in the model. The more CUDA cores and memory in the video card, the better. But even without an NVidia GPU, on a weak CPU, you can train and drive the model. Just slower. Much slower.

1
12rbah, 2021-08-10
@12rbah

Depends on what level you want to practice.
Here is a good article, if you are too lazy to read at the end there is TL;DR
You can train on the process, but xs to what level, if there is no money, then at least 1050ti can be looked after (for a start it’s definitely enough), you can work with Google Colab, but there how lucky.

I was interested in doing my own project on machine learning on the topic of human pose estimation.
This can be done through opencv, your iron will most likely be enough.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question