【问题标题】:ANN training progress resets every new training session using FANNANN 培训进度使用 FANN 重置每个新的培训课程
【发布时间】:2018-11-24 01:38:48
【问题描述】:

我有一个标准的神经网络,我已经训练了一段时间,但直到完美。训练完成后,我将网络保存在磁盘上。

一段时间后,我想从它离开的地方继续训练网络。问题是,似乎每次我开始一个新的训练课程时,权重和偏差似乎都被完全重置了,这意味着我正在从头开始训练网络:

上一期:

新会话:

这是我的训练函数的摘录:

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);
}

我错过了什么?对我来说,这似乎很直观,您可以在多个会话中训练一个网络。我错了吗?是图书馆的限制吗?

训练数据在会话之间保持不变。这也不限于这个特定的网络——任何格式的网络似乎都会引发同样的问题。

【问题讨论】:

    标签: c++ fann


    【解决方案1】:

    我错过了什么?

    根据Documentation - FANN Training > Training Data Manipulation > fann_set_training_algorithm

    设置training algorithm

    例子:

    fann_set_training_algorithm(net, FANN_TRAIN_INCREMENTAL)
    

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 2019-07-10
      • 2012-06-15
      • 2021-11-28
      • 2017-08-31
      • 2017-12-31
      • 2011-10-22
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多