2014-07-06 210 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 
相關問題