首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用autograd函数的渐变函数错误python

使用autograd函数的渐变函数错误python
EN

Stack Overflow用户
提问于 2020-03-25 21:59:16
回答 1查看 326关注 0票数 0

我正在尝试使用autograd计算一些函数的梯度,但失败了,并显示了以下错误

代码语言:javascript
复制
from autograd import grad
def f(a): 
   return a[0]*np.sin(2*np.pi*a[1]) + a[2]*np.sin(2*np.pi*a[3])

a=[1.0,1.0,1.0,1.0] 
gr = grad(f,0)
print(gr(a))

文件"C:\Users\user\Desktop\auto.py",第23行,f return a*np.sin(2*np.pi*a1) + a2*np.sin(2*np.pi*a3)

TypeError: ufunc的循环不支持没有可调用sin方法的ArrayBox类型的参数0

EN

回答 1

Stack Overflow用户

发布于 2020-06-03 01:44:31

我也有同样的问题。我认为这是autograd的一个问题。你必须从autograd导入numpy!在开头添加:将autograd.numpy导入为np

代码语言:javascript
复制
from autograd import grad
import autograd.numpy as np ; <-----------

def f(a): 
   return a[0]*np.sin(2*np.pi*a[1]) + a[2]*np.sin(2*np.pi*a[3])

a=[1.0,1.0,1.0,1.0] 
gr = grad(f,0)
print(gr(a))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60850393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档