После отсюда: Conditional calculation in pythonЗначение ошибки: значение истинности неоднозначной
Я редактирует эту строку:
out = log(sum(exp(a - a_max), axis=0))
от линии 85 здесь: https://github.com/scipy/scipy/blob/v0.14.0/scipy/misc/common.py#L18
к этому:
out = log(sum(exp(threshold if a - a_max < threshold else a - a_max), axis = 0))
Но я получаю следующее сообщение об ошибке:
out = log(sum(exp(threshold if a - a_max < threshold else a - a_max), axis=0)) ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Я могу видеть из this ответа, что ошибка может быть исправлена с помощью для цикла, чтобы пройти через каждое значение ... но есть ли способ, чтобы включить его в более быстрый код? Мои массивы имеют десятки тысяч элементов.
Теперь я получаю эту ошибку: 'из = лог (сумма (ехр (np.minimum (а - a_max, порог)), ось = 0)) TypeError: sum() не принимает аргументов ключевого слова' – user961627
Вы должны использовать функции numpy: 'np.log',' np.sum' и 'np.exp'. –