2013-02-20 46 views
6

是否有一種方式來獲得更詳細的從numpy的這條錯誤消息如何獲得更詳細的錯誤信息numpy的爲「RuntimeWarning:在多次遇到無效值」的錯誤

「RuntimeWarning:在多次遇到無效值」

它來自在我「在做一些數組操作的某行代碼,我可以得到numpy的報告:

(1)上的無效值的更多信息(INF男?)

(2)數組entr這是造成問題的原因?

當然,我可以自己檢查數組,但是如果numpy能夠告訴我什麼和問題在哪裏,那將會很好。

回答

5

您至少可以通過numpy.seterrcall(與鏈接中顯示的numpy.seterr一起)獲取有關錯誤類型的更多信息。至於搞清楚哪個數組是給的問題,這可能是不可能的,因爲numpy必然會產生臨時數組:

a = b + (c*d) 
#  ^This creates a temporary array before adding it to `a` 

當然,你可以使用seterr引發異常,而不是警告,如果你想知道什麼行號是你的代碼中的違規行號。

+7

我用np.seterr(all ='raise')在代碼中的那一點退出。 – 2013-03-29 21:43:23

相關問題