以下のコードのいずれかの for ループの代わりに parfor ループを使用しても、時間の改善は得られませんでした (場合によってはそれ以上かかることもあります)。
私が望むのは、複数のネットワークを同時にトレーニングして、各クラスターが異なるニューラル ネットワークのセットを実行するクラスターでこのコードを実行できるようにすることです。
に変更するparfor Neurons = 1:n
と、並列ループで予想されるように、「ニューロン」が順次/単調に変化しなくなったため、parfor ループが機能していることがわかります。ただし、「Neural Network Training (nntraintool)」の GUI が 1 つしか読み込まれないため、ワーカーが 1 つしかデプロイされていないように思えます。これに加えて、私は時間の改善を得ていません。異なる 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