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