Matlab 并行计算:添加文件
我需要parfor循环中的代码来访问/加载两个文件。不幸的是,这不起作用 我收到的错误消息是Matlab 并行计算:添加文件,matlab,parallel-processing,Matlab,Parallel Processing,我需要parfor循环中的代码来访问/加载两个文件。不幸的是,这不起作用 我收到的错误消息是 Error using **parallel.Pool/addAttachedFiles** (line 23) Expected input number 1, pool, to be nonempty. 以下是我正在使用的代码的相关部分: parpool(16); parfor k = 1:length(filenames) tmpfile = filenames{k};
Error using **parallel.Pool/addAttachedFiles** (line 23)
Expected input number 1, pool, to be nonempty.
以下是我正在使用的代码的相关部分:
parpool(16);
parfor k = 1:length(filenames)
tmpfile = filenames{k};
file_VPn = dir(strcat(tmpfile));
load(strcat(file_VPn(1).name));
% Attach files
poolobj = gcp;
addAttachedFiles(poolobj,{'/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/elec_field_orig.mat',...
'/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/grad_field_orig.mat'})
%% Fix excluded sensors (!!this is where I need the attached files)
data_segm_clean.elec = '/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/elec_field_orig.mat';
data_segm_clean.grad = '/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/grad_field_orig.mat';
% [.............] rest of the code
end
你能发现什么吗?谢谢 您需要在
parfor
循环之前调用addAttachedFiles
。您需要在parfor
循环之前调用addAttachedFiles
。在parpool中加载文件:与@AnderBiguri不是一个好主意addAttachedFiles
方法用于添加.m
文件,而不是数据。对。尽管如此,还是会出现错误消息,因为gcp
不会返回有效的池对象poolobj
为空。打开并行池时出现问题…也许您可以尝试poolobj=parpool(16)
而不在parfor中使用gcp?在parpool中加载文件:与@AnderBiguri不是一个好主意addAttachedFiles
方法用于添加.m
文件,而不是数据。对。尽管如此,还是会出现错误消息,因为gcp
不会返回有效的池对象poolobj
为空。打开并行池时出现了问题…也许您可以尝试poolobj=parpool(16)
而不在parfor中使用gcp?