The source code for the parfor-loop could not be found

70 次查看(过去 30 天)
Hi. I'm using the parfor in order to change some labels name:
Data = cell(1, length(DirList));
numberOfDbExamples = length(DirList);
parfor k = 1:numberOfDbExamples
Data{k} = load(fullfile(Folder, DirList(k).name));
[newLabelNames, newMask] = changeLabelNames(Data{k}.labelNames, Data{k}.mask);
Data{k}.labelNames = newLabelNames;
Data{k}.mask = newMask;
end
I get this error:
The source code (C:----) for the parfor-loop that is trying to execute on the worker could not be found.
Caused by:
Undefined function changeLabelNames for input arguments of type table.
Error using remoteParallelFunction
Do you have an idea of how fix it?
  3 个评论
John
John 2022-9-30
The function is stored as changeLabelNames.m and it is located in the same folder of the script.
Mehdi
Mehdi 2023-1-20
can you explain how you solved this problem? I faced similar error!

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2022-9-30
  6 个评论
Walter Roberson
Walter Roberson 2023-1-20
@Mehdi I just noticed your https://www.mathworks.com/matlabcentral/answers/1897595-why-receive-error-integrand-output-size-does-not-match-the-input-size?s_tid=srchtitle in which you are expecting that your function might return a constant and so not automatically vectorized by matlabFunction . There are better ways of dealing with that situation.

请先登录,再进行评论。

更多回答(1 个)

John
John 2023-1-21
I did something similar to what Walter mentioned, but I don't remember exactly.

类别

Help CenterFile Exchange 中查找有关 Parallel for-Loops (parfor) 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by