我有一个标准的神经网络,我已经训练了一段时间,但直到完美。培训课程完成后,我将网络保存在磁盘上。
一段时间后,我想从它离开的地方继续训练网络。问题是,似乎每次我开始一个新的训练课程时,权重和偏差似乎都被完全重置了,这意味着我正在从头开始训练网络:
上届会议:
新会话:
这是我的训练功能的摘录:
void trainNet(fann *net) {
const unsigned int
max_epochs = 1000,
epochs_between_reports = 10;
const float desired_error = 0.01f;
net -> learning_momentum = 0.1f;
fann_train_on_file(net, "sessions.data", max_epochs, epochs_between_reports, desired_error);
fann_save(net, "network.net");
fann_destroy(net);
}
我错过了什么?这对我来说似乎很直观,你可以在多个会话中训练一个网络。我错了吗?这是图书馆的限制吗?
训练数据在会话之间保持不变。这也不限于这个特定的网络——任何格式的网络似乎都会引发同样的问题。