Eine Ausnahme beim Verwenden von numba wird ausgelöst

8

Nach hier , Ich bekomme immer wieder Überläufe. Ich versuche also, eine Ausnahme zu machen, damit ich genau weiß, wo was schief läuft.

Ich habe so etwas:

%Vor%

Aber ich bekomme diesen Fehler:

%Vor%

Kann ich keine Ausnahme auslösen, während ich numba verwende? Ich verwende Anaconda 2.0.1 mit Numba 0.13.x und Numpy 1.8.x auf einer 64-Bit-Maschine.

    
user961627 13.09.2014, 09:04
quelle

1 Antwort

0

Ссылка

2.6.1.1. Konstruiert

  

Numba versucht, so viel wie möglich von der Python-Sprache zu unterstützen, aber einige Sprachfunktionen sind in Numba-kompilierten Funktionen nicht verfügbar. Die folgenden Python-Sprachfunktionen werden derzeit nicht unterstützt:

%Vor%
  

Die raise-Anweisung wird in verschiedenen Formen unterstützt:

%Vor%

so dass uns hier verlässt:

%Vor%

alles Negative unter etwa exp (-1000); really-really small wird ohne Überlauf zu Null ausgewertet.

math.exp(-1000000000) "funktioniert" und ist wahrscheinlich nicht dein Problem (obwohl es 0.0 zurückgibt, ist es nicht "wirklich" Null)

Also, was würde das scheitern lassen? nun, wir wissen:

%Vor%

ist albern groß, viel mehr als das ... wahrscheinlich Überlauf

wirklich genug

%Vor%

Ich habe kein Zitat, aber ich denke, der effektive Bereich ist wie -700 bis 700, die aus der Perspektive der Doppelschwimmer effektiv zu 0 und unendlich (Überlauf) auswerten

Um das zu handhaben, window die Funktion:

%Vor%

Das funktioniert aber auch nicht, weil math.exp (n) nur Gleitkommazahlen akzeptiert und Ihre Beta-Version eine Liste zu sein scheint. Sie müssen numpy.exp (n) und numpy.clip () im Fenster

verwenden %Vor%

oder um die Überlauf-Ausnahme auszulösen:

%Vor%     
litepresence 24.03.2018 03:24
quelle