在循环中创建和训练多个ANN

时间:2016-05-16 03:28:13

标签: python machine-learning neural-network

我有一个用PyBrain创建的ANN并且在有限的数据集上进行了训练,因此为了验证,我单独留出一行进行测试,然后对剩下的线进行训练并重复。我显然希望每次创建和训练一个新的ANN。如果我在循环之外创建网络,那么与我在while循环中每次创建它时相比,我的结果要好得多。这是因为每次运行人工神经网络循环时,有些权重都存储在网络中,并且每次都有效地训练和测试数据(我显然想避免)?我以前认为清理并创建一个新的ds以在每个周期添加到网络就足够了。

net = buildNetwork(5, 30, 2, outclass=SigmoidLayer)
k=0
while k<len(content):
  ds = SupervisedDataSet(5, len(configuration))
  ds.clear() 
  for line_num,line in enumerate(content):
   line=line.strip('\n')
   lines=line.split(',')
   shifts=lines[0:5]   
   shifts=[float(i) for i in shifts]

   output = [0. for _ in range(2)]
   output[configuration.index(lines[5])] = 1

   if line_num != k:
        ds.addSample((shifts),(output))
   if line_num == k:
        testing_shifts=shifts


   """Continue running through content, leaving one line for testing and adding all others to ds, repeat so test each individual line in the database"""

0 个答案:

没有答案