我没有获得时间改进(有时甚至需要更长时间)使用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