【发布时间】:2017-12-16 11:11:42
【问题描述】:
我知道对于 ANN 模型,初始权重是随机的。如果我训练一个模型并通过nntool 重复训练 10 次,每次单击训练按钮时权重都会初始化,还是仍然使用您刚刚调整的相同初始权重?
【问题讨论】:
标签: matlab neural-network nntool
我知道对于 ANN 模型,初始权重是随机的。如果我训练一个模型并通过nntool 重复训练 10 次,每次单击训练按钮时权重都会初始化,还是仍然使用您刚刚调整的相同初始权重?
【问题讨论】:
标签: matlab neural-network 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 秒一个的速率存储检查点。当你想继续训练时,网络必须从检查点文件加载为:
[feat,target] = iris_dataset;
load MyCheckpoint
my_nn = checkpoint.my_nn;
my_nn = train(my_nn,feat,target,'CheckpointFile','MyCheckpoint');
此解决方案涉及从命令行或通过脚本训练网络,而不是使用 Mathworks 提供的 GUI。老实说,我认为后一种方法非常适合初学者,但如果您想使用命令行做任何有趣的聪明开始,甚至更好地切换到 Torch 或 Tensorflow 等库!
希望对你有帮助!
【讨论】: