Цикл ufunc не поддерживает аргумент 0 типа float, который не имеет вызываемого метода expPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Цикл ufunc не поддерживает аргумент 0 типа float, который не имеет вызываемого метода exp

Сообщение Anonymous »

У меня возникли проблемы с оптимизацией, которая работала с предыдущей версией Python...

У меня есть функция fp = лямбда c, x: ( c[0])+ (c[1]*((1- np.exp(-x/c[4]))/(x/c[4])))+ (c[2]*((( (1-np.exp(-x/c[4]))/(x/c[4])))- (np.exp(-x/c[4]))))+ (c[3] *((((1-np.exp(-x/c[5]))/(x/c[5])))- (np.exp(-x/c[5]))))


и мне нужно минимизировать ошибку e = лямбда c, x, y: (((fp(c,x)-y)* *2).sum())

с использованием начальных значений параметров p0 = np.array([0.01,0.01,0.01,0.01,0.01,1.00 ,1.00])

в основном p =оптимизировать.fmin(e, p0, args=(x,y))

где x и y представляют собой np.arrays (14,) каждый.

Итак, раньше это работало, но теперь выдает ошибку эта ошибка TypeError: цикл ufunc не поддерживает аргумент 0 типа float, который не имеет вызываемого метода exp

Я провел небольшое исследование и кажется, что существует проблема, связанная с np.exp() и некоторыми версиями Numpy... На самом деле эта проблема появилась, когда я обновил Python и Numpy до версий 3.7 и 1.18.1 соответственно.

Есть мысли?

Подробнее здесь: https://stackoverflow.com/questions/612 ... allable-ex
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»