在下面的代码中,我没有使用 parfor 循环代替我的任何一个 for 循环来获得时间改进(有时甚至需要更长的时间)。
我想要的是同时训练多个网络,这样我就可以在一个集群上运行这个代码,每个集群运行一组不同的神经网络。
如果我更改为,parfor Neurons = 1:n
我可以告诉 parfor 循环正在工作,因为“神经元”不再像并行循环所预期的那样按顺序/单调变化。但是,只有一个“神经网络训练 (nntraintool)”GUI 加载,这让我觉得只部署了一个工人?最重要的是,我没有获得任何时间改进。是否可以使用不同的 matlab 工作人员同时训练多个神经网络?如何?
非常感谢。
tic
for init_conds = 1:m
for no_neurons = 1:n
net = patternnet(no_neurons);
net = configure(net,inputs,targets);
net.IW{1,1} = ...
net.b{1,1} = ...
net.LW{2,1} = ...
net.b{2,1} = ...
[net, tr] = train(net,inputs,targets);
outputs = net(inputs);
outputall = [outputall, outputs];
end
end
toc