Deep Learning: Training Network with "parallel" option using only CPUs
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Show older comments
0 votes
Hi,
I am trying to train a network using the follow parameters:
miniBatchSize = 10;
clear NewNetIn3D
valFrequency = floor(numel(imdsTrain)/miniBatchSize);
options = trainingOptions('sgdm', ...
'MiniBatchSize',miniBatchSize, ...
'MaxEpochs',6, ...
'InitialLearnRate',1e-5,...
'Shuffle','never',...
'ExecutionEnvironment','parallel',...
'Verbose',false, ...
'Plots','training-progress');
net = trainNetwork(imdsTrain,LabelsTrain,LayersBMC,options);
Since my graphic card is not super, I am trying to run the code using multiple CPUs, but the parallel option always go with multiple GPUs and then crashes. Is there any way to restrict the paralel pool to use only CPUs? If I define the option 'cpu' it works, but with only one core.
Accepted Answer
Joss Knight
on 16 Dec 2019
0 votes
Even with a weak graphics card you will usually see better performance than on multiple CPUs. However, to try it out, after you start MATLAB, type
setenv CUDA_VISIBLE_DEVICES -1
13 Comments
Brunno Machado de Campos
on 17 Dec 2019
Edited: Brunno Machado de Campos
on 17 Dec 2019
Hi, thank you!
Your line worked perfectly.
I believe my problem with GPU is the dedicated memory. I am running with 800 3D MagRessoImages and when the trainning starts with GPUs it stops imediately with a memory related error.
Joss Knight
on 17 Dec 2019
The correct solution is to reduce the MiniBatchSize training option until you have enough memory.
shivan artosh
on 5 Oct 2020
Hello Mr. Knight
i need to use multiple CPU instead of hardware resource: single CPU in order to speed the network up, so do you have any suggestion for me?
thanks
Joss Knight
on 5 Oct 2020
Edited: Joss Knight
on 8 Oct 2020
Yes, use 'ExecutionEnvironment', 'parallel' as the opening poster is doing.
shivan artosh
on 5 Oct 2020
thanks sir
if i use 'ExecutionEnvironnment', 'parallel' it will help to speed the network up?
my computer features are: 8 GB HD graphic, core i7 8th generation
Joss Knight
on 6 Oct 2020
Give it a go and see if it helps!
shivan artosh
on 7 Oct 2020
i did it but i got this error:
Error using trainingOptions (line 285)
'ExecutionEnvironnment' is not an option for solver 'sgdm'.
Joss Knight
on 8 Oct 2020
Looks like you have a typo since there are only three 'n's in Environment.
shivan artosh
on 8 Oct 2020
so, how to solve this issue?
Joss Knight
on 8 Oct 2020
Type ExecutionEnvironment instead of ExecutionEnvironnment.
Joss Knight
on 8 Oct 2020
By the way it's my bad because my earlier comment had the typo.
shivan artosh
on 8 Oct 2020
oh no problem sir
is there a way to showdown the 'parallel' command in the system, because after multiple CPU i again use single CPU but there is a little bit on my learning curve.
through the running on single CPU i found this on command window and it seems affected on my model:
IdleTimeout has been reached.
Parallel pool using the 'local' profile is shutting down.
Joss Knight
on 8 Oct 2020
That's nothing. You had a bunch of MATLABs running to do your parallel training, you stopped using them, so eventually they were terminated.
More Answers (0)
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
See Also
on 16 Dec 2019
on 8 Oct 2020
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)