Как исправить: runtimewarning: в exp обнаружено переполнение
Предупреждение, с которым вы можете столкнуться в Python:
RuntimeWarning: overflow encountered in exp
Это предупреждение появляется, когда вы используете функцию exp NumPy, но используете слишком большое значение для ее обработки.
Важно отметить, что это всего лишь предупреждение , и NumPy по-прежнему выполнит запрошенные вами вычисления, но по умолчанию выдает предупреждение.
Когда вы столкнетесь с этим предупреждением, у вас есть два варианта:
1. Не обращайте на это внимания.
2. Полностью удалите предупреждение.
В следующем примере показано, как на практике реагировать на это предупреждение.
Как воспроизвести предупреждение
Предположим, мы выполняем следующий расчет в 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
Обратите внимание, что NumPy выполняет расчет (результат равен 0,0), но все равно печатает RuntimeWarning .
Это предупреждение выводится, поскольку значение np.exp(1140) представляет собой e 1140 , что является огромным числом.
По сути, мы попросили NumPy выполнить следующий расчет:
- 1 / (1 + массивное число)
Это можно сократить до:
- 1 / массивное число
Это действительно 0, поэтому NumPy вычислил результат как 0.0 .
Как убрать предупреждение
Если мы хотим, мы можем использовать пакет alerts для подавления предупреждений следующим образом:
import numpy as np import warnings #remove warnings warnings. filterwarnings (' ignore ') #perform some calculation print (1/(1+np. exp (1140))) 0.0
Обратите внимание, что NumPy выполняет расчет и не отображает RuntimeWarning.
Примечание . В целом предупреждения могут быть полезны для выявления фрагментов кода, выполнение которых занимает много времени. Поэтому будьте очень избирательны при принятии решения об удалении предупреждений.
Дополнительные ресурсы
В следующих руководствах объясняется, как исправить другие распространенные ошибки в Python:
Как исправить ошибку KeyError в Pandas
Как исправить: ValueError: невозможно преобразовать число с плавающей запятой NaN в int.
Как исправить: ValueError: операнды не могут быть переданы с помощью фигур.