变量输入是锯齿数组,即90 x 600。
理想的也是90 x 1的锯齿数组
BeginTraining()
{
FeedforwardNetwork network = new FeedforwardNetwork();
network.AddLayer(new FeedforwardLayer(600));
network.AddLayer(new FeedforwardLayer(1000));
network.AddLayer(new FeedforwardLayer(90));
network.Reset();
// train the neural network
Train train = new HeatonResearchNeural.Feedforward.Train.Backpropagation.Backpropagation(network, input, ideal,
0.7, 0.9);
int epoch = 1;
do
{
lblNoEpochs.Text= epoch.ToString();
lblNoEpochs.Update();
train.Iteration();
lblPcError.Text = train.Error.ToString();
lblPcError.Update();
epoch++;
} while((epoch < 5000) && (train.Error > 0.001));
// test the neural network
for (int i = 0; i < input.Length; i++)
{
//testing code
}每个时期至少需要5分钟。
如何减少这段时间?
发布于 2013-01-31 11:11:12
我认为真正的问题是-- do/while能并行吗?
据我所知,训练波是相互依赖的,所以下一波取决于前一波的结果。因此,排序绝对是必须的。
所以我想答案是--这不可能更快。
发布于 2013-01-30 19:08:01
https://stackoverflow.com/questions/14602108
复制相似问题