jwyang / face-alignment

Face alignment in 3000 FPS
321 stars 190 forks source link

Parallel processing not working #31

Open coolamigo opened 7 years ago

coolamigo commented 7 years ago

Dear Yang; First of all thank you for the code. I have been trying to get your code to work for some days now but all my attempts to start parpool have failed. I have googled and tried everything. As this the error encountered by a number of Matlab Users, would you recommend running the code without parallel processing?

The information about my System is. Core m y510c CPU @ .8GHz 1GHz. Win 8.1 MATLAB Version: 8.3.0.532 (R2014a)

Error is:

Error using parpool (line 111) Failed to start a parallel pool. (For information in addition to the causing error, validate the profile 'LocalProfile1' in the Cluster Profile Manager.)

Error in train_model (line 31) parpool(4);

Caused by: Error using parallel.internal.pool.InteractiveClient/start (line 330) Failed to start pool. Error using parallel.Job/submit (line 304) All dimension arguments must be greater than zero

jwyang commented 7 years ago

Hi, thanks for letting me know the issues.

Did you tried matlabpool('open','local',4) or so? If both do not work, it seems that you Matlab might not be fully installed. In this case, you can set the parameter isparallel = true to false in config_tr.m and config_te.m. It will slow the training and test, but at least works.

Please let me know if it still does not work.

coolamigo commented 7 years ago

Dear Yang;

Thank you for the prompt response.

matlabpool also does not work.

I have tried setting isparallel=false, actually I started by commenting some lines in train_model.m and then the suggested method in both cases it shows "Failed to start parallel pool"warning in the bottom left and gives this error (after some time)

Error using globalregression>(parfor body) (line 46) Undefined function 'train' for input arguments of type 'double'.

Error in globalregression (line 45) parfor o = 1:size(deltashapes, 2)

Error in train_model (line 224) [W, Data] = globalregression(binfeatures, Data, Param, s);

This error is something I could not understand. (Should binfeatures be of type double? converting it to uint8 only gives another error in globalregression) If you can please spot what I am doing wrong, I shall be very thankful.

jwyang commented 7 years ago

sure, I will check that, will let you know what happened

coolamigo commented 7 years ago

Reinstalling Matlab has solved the parallel processing problem, however the other error remains.

cpsxhao commented 7 years ago

I met the same problem with @coolamigo on the function 'train', and here is how I solved it. In fact, the function 'train' is not the one in neural network toolbox but the function with the same name in the Liblinear. What I did is adding the Liblinear path to the matlab search path, and it worked well.