Parallel processing 支持向量机结构并行性差

Parallel processing 支持向量机结构并行性差,parallel-processing,svm,Parallel Processing,Svm,我有一个并行SVM分类的问题。在我的代码中,我重复了3次SVM的5倍交叉验证,并平均了它的准确性。我想并行3次交叉验证的主循环,但当我在这个循环中使用parfor时,程序不会使用我的CPU的2个核心的所有性能,只使用60%的性能 多谢各位 代码: parfor L=1:NumOFLoops; indices = crossvalind('Kfold',QQ,NumOfKfold); cp = classperf(QQ); for m=1:NumOfKfold; test = (indice

我有一个并行SVM分类的问题。在我的代码中,我重复了3次SVM的5倍交叉验证,并平均了它的准确性。我想并行3次交叉验证的主循环,但当我在这个循环中使用parfor时,程序不会使用我的CPU的2个核心的所有性能,只使用60%的性能

多谢各位

代码:

parfor L=1:NumOFLoops;

indices = crossvalind('Kfold',QQ,NumOfKfold);
cp = classperf(QQ);

for m=1:NumOfKfold;

test = (indices == m); Train = ~test;
testI=zeros(numel(test>0),1);

TrainInputs=INPUT(Train,:);
TrainTargets=QQ(Train,:);
TestInputs=INPUT(test,:);

%% SVM Structure

  svmstruct=svmtrain(TrainInputs,TrainTargets,...
 'boxconstraint',Penalty,...
 'kernel_function','rbf','method','QP',...
 'rbf_sigma',Sigma)

  TestOutputs=svmclassify(svmstruct,TestInputs,'showplot',false);
  classperf(cp,TestOutputs,test);

end
Error(:,L)=cp.ErrorRate;         
end
Results.ErrorRate=(sum(Error))/NumOFLoops;