2014-07-06 147 views
0

我在运行代码时遇到了这个错误,我不明白为什么。我试图打印变量'j',但它确实有一个非空值。'NoneType'对象不可迭代

这里的回溯:

[array([ 0., 10.]), array([ 0. , 0.59]), array([ 0. , 1.35]), array([ 0., 1.])] 
Traceback (most recent call last): 
    File "model.py", line 300, in <module> 
    main() 
    File "model.py", line 293, in main 
    training(model, data) 
    File "model.py", line 272, in training 
    [lambdas, clus, conn] = model.learn(j,env) 
TypeError: 'NoneType' object is not iterable 

从功能训练(模型,数据):

for j in trainingblock: 
     print j 
     [res,prob,outunits,outacts,act,dist] = model.stimulate(j, env) 
     if res == True: 
      nitemscorrect += 1 
      accuracy = 1 
      [lambdas, clus, conn] = model.learn(j,env) 
     else: 
      accuracy = 0 
+0

什么是'trainingblock'?它是“没有”? –

+0

@LutzHorn这是一个列表清单。 – SalmaFG

回答

3

出现的错误在这里:

[lambdas, clus, conn] = model.learn(j,env) 

Python是试图解开值由learn返回到三个左侧变量中。但是,该函数已返回None,因此python无法将值分配给这些变量并引发异常。

x, y, z = [1, 2, 3] # works 
x, y, z = None # error 
相关问题