parFor工人找不到文件。未识别的函数或变量参数的
64(30天)
显示旧的评论
大家好我有困难paralize循环。
它是在这里:
如果我试着运行下面的代码,parfor抱怨“迭代”。如果我设置迭代= epch follwowing错误发生:
源代码(“XX”。m) parfor-loop试图执行工人不能被发现。
引起的:
识别参数的函数或变量。
错误使用remoteParallelFunction(第84行)
工人无法找到文件。
识别参数的函数或变量。
但“参数”定义为你可以看到,在上面的链接。
任何想法是受欢迎的。!
克里斯
开始=抽搐;
迭代= 0;
parpool (32);
parfor时代= 1:numEpochs
重置(兆贝可);
而hasdata(兆贝可)
迭代=迭代+ 1;
dlXT =下一个(兆贝可);
:dlX = dlXT (1);
dlT = dlXT (2);
%计算模型使用dlfeval和梯度和损失
% modelGradients函数。
(渐变,亏损)= dlfeval (dlT accfun、参数dlX, dlX0, dlT0, dlU0);
%更新学习速率。
learningRate = initialLearnRate / (1 + decayRate *迭代);
%更新使用adamupdate函数网络参数。
(参数、averageGrad averageSqGrad) = adamupdate(参数、渐变averageGrad,…
迭代,averageSqGrad learningRate);
结束
%情节训练进展。
损失=双(收集(extractdata(损失)));
addpoints (lineLoss,迭代,损失);
D =持续时间(0,0,toc(开始),“格式”,“hh: mm: ss”);
标题(”时代:“+时代+”,过去:“字符串(D) + +”,损失:“+损失)
drawnow
结束
答案(1)
雷蒙德·诺里斯
2021年8月13日
正如Edric提到的,这是/不得parallizable。但如果是,你需要修改循环。包括你的更新图内
parfor
不会做你期望(池的工人没有客户MATLAB显示情节)。有办法解决这个问题,但不能解决根本问题的循环可以并行。
我建议绕回
培训方案
部分的例子,它描述了使用gpu来帮助训练模型。我怀疑这是你最好的选择,加快代码。