Python 如何在numpy中实现此激活功能?
如何使用numpy实现: 及其导数Python 如何在numpy中实现此激活功能?,python,python-3.x,numpy,scipy,Python,Python 3.x,Numpy,Scipy,如何使用numpy实现: 及其导数f'(x)?我试图: def func (x,y): if x.all() <= 0: y = beta (np.exp(x)-1) return y elif x>0: y = x return y 定义函数(x,y): 如果x.all()为0: y=x 返回y 然而,它们不起作用。请注意,x和y是数组。如何:
f'(x)
?我试图:
def func (x,y):
if x.all() <= 0:
y = beta (np.exp(x)-1)
return y
elif x>0:
y = x
return y
定义函数(x,y):
如果x.all()为0:
y=x
返回y
然而,它们不起作用。请注意,x
和y
是数组。如何:
def func (x, beta):
y = np.empty_like(x)
mask = x <= 0
y[mask] = beta * (np.exp(x[mask])-1)
y[~mask] = x[~mask]
return y
def func(x,beta):
y=np.空的(x)
mask=x
def func (x, beta):
y = np.empty_like(x)
mask = x <= 0
y[mask] = beta * (np.exp(x[mask])-1)
y[~mask] = x[~mask]
return y
def func(x,beta):
y=np.空的(x)
mask=x最好使用np.expm1
而不是np.exp(…)-1
,它设计用于在x接近0时计算exp(x)-1而不损失精度。比较np.exp(-1e-20)-1
和np.expm1(-1e-20)
。你能举个例子吗?它不起作用。。。那么函数的导数呢?f_deriv=lambda x:b*exp(x)如果x<0,则为1如果x>0,则为无
。差不多吧。对于任何beta!=1
您的函数不能在0中派生。最好使用np.expm1
而不是np.exp(…)-1
,它设计用于在x接近0时计算exp(x)-1而不损失精度。比较np.exp(-1e-20)-1
和np.expm1(-1e-20)
。你能举个例子吗?它不起作用。。。那么函数的导数呢?f_deriv=lambda x:b*exp(x)如果x<0,则为1如果x>0,则为无
。差不多吧。对于任何beta!=1
您的函数不能在0中派生。