python 手动实现gelu,sigmod
作者:互联网
import matplotlib.pyplot as plt
import numpy as np
def sigmod(x):
return 1.0/(1+np.exp(-x))
def gelu(x):
# gelu 为高斯误差线性单元,gelu(x) = xΦ(x),Φ(x) 正态分布的累积分布函数Φ(x)没有解析表达式,它的值可以通过数值积分、泰勒级数、或者渐近序列近似得到。
# return 0.5*x*(1+ np.tanh(np.sqrt(2/np.pi)*(x+0.044715*np.power(x,3))))
return x*sigmod(1.702*x)
x = np.linspace(-5,5,50)
y = gelu(x)
plt.plot(x,y)
plt.show()
标签:plt,return,gelu,sigmod,python,np,import 来源: https://blog.csdn.net/baoyan2015/article/details/121931124