我知道ANN模型,初始权重是随机的。如果我训练模型并按nntool
重复训练10次,那么每次单击训练按钮时是否会初始化权重,或者仍然使用刚刚调整过的相同初始权重?
答案 0 :(得分:0)
我不确定您引用的 nntool 是否使用了火车方法(请参阅此处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秒不超过一个的速度存储。当您想要继续训练时,必须从检查点文件加载网络:
[feat,target] = iris_dataset;
load MyCheckpoint
my_nn = checkpoint.my_nn;
my_nn = train(my_nn,feat,target,'CheckpointFile','MyCheckpoint');
此解决方案涉及从命令行或通过脚本训练网络,而不是使用Mathworks提供的GUI。老实说,我认为后一种方法对于初学者来说非常棒,但是如果你想使用命令行做任何有趣的巧妙开始,或者甚至更好地切换到像Torch或Tensorflow这样的库!
希望它有所帮助!