2013-02-20 17 views
6

C'è un modo per ottenere più dettagliate numpy per il messaggio di errorecome ottenere più dettagliate informazioni di errore NumPy per "RuntimeWarning: valore non valido incontrato nel moltiplicare" errore

"RuntimeWarning: valore non valido incontrato nel moltiplicare"

proviene da una certa linea del codice in cui ho "sto facendo una serie di operazioni di matrice Posso ottenere NumPy segnalare:.

(1) Maggiori informazioni sul valore non valido (inf nan??)

(2) L'array entr y sta causando il problema?

Ovviamente posso ispezionare l'array da solo, ma sarebbe bello se Numpy potesse solo dirmi cosa e dove il problema è.

risposta

5

Probabilmente è possibile ottenere maggiori informazioni sul tipo di errore tramite numpy.seterrcall (in combinazione con numpy.seterr come illustrato nel collegamento). Per quanto riguarda il capire quale serie sta dando dei problemi, che probabilmente non è possibile in quanto numpy crea necessariamente array temporaneo:

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

Naturalmente, è possibile utilizzare seterr per sollevare eccezioni, invece di avvisi se volete sapere quale numero di riga è quello che ha il codice nel codice.

+7

Ho usato np.seterr (all = 'raise') per uscire a quel punto nel codice. –

Problemi correlati