Oplossing: runtimewarning: overloop aangetroffen in exp


Een waarschuwing die je tegen kunt komen in Python is:

 RuntimeWarning: overflow encountered in exp

Deze waarschuwing treedt op wanneer u de exp NumPy-functie gebruikt, maar een waarde gebruikt die te groot is om te kunnen verwerken.

Het is belangrijk op te merken dat dit slechts een waarschuwing is en dat NumPy nog steeds de door u gevraagde berekening zal uitvoeren, maar standaard een waarschuwing geeft.

Wanneer u deze waarschuwing tegenkomt, heeft u twee opties:

1. Negeer het.

2. Verwijder de waarschuwing volledig.

Het volgende voorbeeld laat zien hoe u in de praktijk op deze waarschuwing kunt reageren.

Hoe de waarschuwing te reproduceren

Stel dat we de volgende berekening uitvoeren in Python:

 import numpy as np

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:3:
RuntimeWarning: overflow encountered in exp

Merk op dat NumPy de berekening uitvoert (het resultaat is 0,0), maar nog steeds de RuntimeWarning afdrukt.

Deze waarschuwing wordt weergegeven omdat de waarde np.exp(1140) e 1140 vertegenwoordigt, wat een enorm getal is.

We hebben NumPy in principe gevraagd om de volgende berekening uit te voeren:

  • 1 / (1 + enorm aantal)

Dit kan worden teruggebracht tot:

  • 1 / enorm aantal

Het is inderdaad 0, daarom heeft NumPy het resultaat als 0,0 berekend.

Hoe de waarschuwing te verwijderen

Als we willen, kunnen we het waarschuwingspakket gebruiken om de waarschuwingen als volgt te onderdrukken:

 import numpy as np
import warnings

#remove warnings
warnings. filterwarnings (' ignore ')

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

Houd er rekening mee dat NumPy de berekening uitvoert en geen RuntimeWarning weergeeft.

Opmerking : over het algemeen kunnen waarschuwingen nuttig zijn bij het identificeren van stukjes code die lang duren om uit te voeren. Wees dus zeer selectief als u besluit waarschuwingen te verwijderen.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in Python kunt oplossen:

Hoe KeyError in Panda’s te repareren
Oplossing: ValueError: Kan float NaN niet naar int converteren
Oplossing: ValueError: Operanden konden niet worden uitgezonden met vormen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert