У меня возникли проблемы с оптимизацией, которая работала с предыдущей версией 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
Цикл ufunc не поддерживает аргумент 0 типа float, который не имеет вызываемого метода exp ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Цикл Ufunc не поддерживает аргумент 0 типа Float, который не имеет метода Callable Exp
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Цикл Ufunc не поддерживает аргумент 0 типа Float, который не имеет метода Callable Exp
Anonymous » » в форуме Python - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-