Deep Learning: Training Network with "parallel" option using only CPUs

10 次查看(过去 30 天)
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.

采纳的回答

Joss Knight
Joss Knight 2019-12-16
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 个评论
shivan artosh
shivan artosh 2020-10-8
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
Joss Knight 2020-10-8
That's nothing. You had a bunch of MATLABs running to do your parallel training, you stopped using them, so eventually they were terminated.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by