Переполнение функции Exp и приведение типа не работает - PullRequest
0 голосов
/ 26 марта 2020

Я получаю эту ошибку для сигмоидальной функции

RuntimeWarning: overflow encountered in exp
  return 1 / (1 + np.exp(-s))

def sigmoid(s):
    return 1 / (1 + np.exp(-s))

Я пытался исправить ее следующим образом, вдохновленный этим ответом:

def sigmoid(s):
   s = s.astype(np.float128)
   min_value = np.finfo(s.dtype).min
   max_value = np.finfo(s.dtype).max
   s[s == np.NINF] = min_value
   s[s == np.inf] = max_value
   return 1 / (1 + np.exp(-s))

Но это не эффект, и я все еще получаю ту же ошибку, почему это так? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...