why is Neural network training is not speeding up despite "useParallel"?

6 次查看(过去 30 天)
I have an input data matrix, X, of size 475x240000 and the corresponding output data, y, vector of size 1x240000. I am trying to discover the function that relates each column of X to the corresponding entry in y. For that I am using "fitnet" and a network with 2 hidden layers containing 20 neurons each. Following is the code snippet for this:
net = fitnet([20,20]);
net.trainFcn = 'traingd';
net.divideParam.trainRatio = 1.0;
net.divideParam.valRatio = 0.0;
net.divideParam.testRatio = 0.0;
net.trainParam.epochs = 1000;
net.trainParam.lr = 0.1;
pool = parpool(4);
[net,tr] = train(net,X,y,'showResources','yes','useParallel','yes');
My problem is: despite 'useParallel', there is no significant speedup. A single epoch is taking 15 minutes with and without 'useParallel'. Why is there no speedup?
I am using Matlab R2015b 64 bit on Ubuntu 14.04 (also 64 bit). The machine I am running on has 8 gb RAM, Intel® Core™ i7 CPU @ 2.80GHz × 8 processor and GeForce GTX 650 Ti graphics card.
Any ideas on how I can speed up the training process? I have looked around a lot on matlab answers and elsewhere, but couldn't find a concrete answer.
Also, if it helps, here is the output (for matlab) of "top" command run on the terminal:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11286 ekta 20 0 4614204 1.145g 50436 S 100.5 14.8 22:00.93 MATLAB
11284 ekta 20 0 4614204 1.145g 49716 S 100.2 14.8 22:02.85 MATLAB
11285 ekta 20 0 4614204 1.150g 49752 S 100.2 14.8 22:02.12 MATLAB
11287 ekta 20 0 4614204 1.150g 49760 S 100.2 14.8 22:01.88 MATLAB
Please let me know if I can give anymore information to give a clearer picture about this problem.

采纳的回答

Walter Roberson
Walter Roberson 2016-1-6

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by