0

我知道对于 ANN 模型,初始权重是随机的。如果我训练一个模型并重复训练 10 次nntool,每次单击训练按钮时权重都会初始化,还是仍然使用刚刚调整的相同初始权重?

4

1 回答 1

0

我不确定您所指的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 秒不超过一个的速率存储检查点。当您想继续训练时,必须从检查点文件加载网络,如下所示:

[feat,target] = iris_dataset;
load MyCheckpoint
my_nn = checkpoint.my_nn;
my_nn = train(my_nn,feat,target,'CheckpointFile','MyCheckpoint');

此解决方案涉及从命令行或通过脚本训练网络,而不是使用 Mathworks 提供的 GUI。老实说,我认为后一种方法非常适合初学者,但如果你想使用命令行做任何有趣的聪明开始,或者甚至更好地切换到 Torch 或 Tensorflow 等库!

希望能帮助到你!

于 2017-07-12T09:39:20.013 回答