2

我正在使用以下代码在 libsvm 上进行网格搜索:

bestcv = 0;
for log2c = -1:3,
  for log2g = -4:1,
    cmd = ['-v 5 -c ', num2str(2^log2c), ' -g ', num2str(2^log2g)];
    cv = svmtrain(heart_scale_label, heart_scale_inst, cmd);
    if (cv >= bestcv),
      bestcv = cv; bestc = 2^log2c; bestg = 2^log2g;
    end
    fprintf('%g %g %g (best c=%g, g=%g, rate=%g)\n', log2c, log2g, cv, bestc, bestg, bestcv);
  end

为了提高速度,我可以选择并行计算工具箱或在 GPU 上运行它(尽管我认为第一个选项会更好,因为 GPU 擅长卷积等操作,在这种情况下并不那么重 - 请纠正我,如果我我错了。)

如何通过在并行计算工具箱上运行它来优化它?我是这个领域的初学者,因此需要一些关于如何实现 parfor 循环的输入。

编辑 可以使用matlabpool来完成吗?

谢谢

4

0 回答 0