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.
2.6.1.1. Konstruiert
%Vor%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:
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%