我知道对于 ANN 模型,初始权重是随机的。如果我训练一个模型并重复训练 10 次nntool
,每次单击训练按钮时权重都会初始化,还是仍然使用刚刚调整的相同初始权重?
我不确定您所指的nntool是否使用 train 方法(请参阅此处https://de.mathworks.com/help/nnet/ref/train.html)。
我已经非常广泛地使用了这种方法,它的工作方式与 tensorflow 类似,您可以存储许多检查点并加载最新状态以从该点继续训练。代码看起来像这样。
[feat,target] = iris_dataset;
my_nn = patternnet(20);
my_nn = train(my_nn,feat,target,'CheckpointFile','MyCheckpoint','CheckpointDelay',30);
在这里,我们要求以每 30 秒不大于 1 的速率存储检查点。当你想继续训练时,网络必须从检查点文件加载为:
[feat,target] = iris_dataset;
load MyCheckpoint
my_nn = checkpoint.my_nn;
my_nn = train(my_nn,feat,target,'CheckpointFile','MyCheckpoint');
该解决方案涉及从命令行或通过脚本训练网络,而不是使用 Mathworks 提供的 GUI。老实说,我认为后一种方法非常适合初学者,但如果您想使用命令行做任何有趣的聪明开始,或者甚至更好地切换到 Torch 或 Tensorflow 等库!
希望能帮助到你!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句