有没有办法从一个流中提供训练样例?
来自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();
}