Encog简单前馈网络的实际(在线)培训

时间:2015-03-10 10:40:29

标签: java encog

有没有办法从一个流中提供训练样例?

来自encog site的在线培训:

public static void main(final String args[]) {

        // Create a neural network, using the utility.
        BasicNetwork network = EncogUtility.simpleFeedForward(2, 2, 0, 1, false);
        network.reset();

        // Create training data.
        MLDataSet trainingSet = new BasicMLDataSet(XOR_INPUT, XOR_IDEAL);

        // Train the neural network.
        final Backpropagation train = new Backpropagation(network, trainingSet, 0.07, 0.02);
        train.setBatchSize(1);

        // Evaluate the neural network.
        EncogUtility.trainToError(train, 0.01);
        EncogUtility.evaluate(network, trainingSet);

        // Shut down Encog.
        Encog.getInstance().shutdown();
    }

但我的问题是,我不能这样做:

    final Backpropagation train = new Backpropagation(network, trainingSet, 0.07, 0.02);
    train.setBatchSize(1);

由于我的训练集是一个流 - 所以我逐个接收这些例子。我将不得不制作多个无用的反向传播列车对象。但是训练数据是一个流是有充分理由的,所以我无法将整个集合加载到ram中。

我需要像

这样的东西
while (traningData.hasNext()) {
  train(traningData.next();
}

0 个答案:

没有答案