Python教程

python 手动实现gelu,sigmod

本文主要是介绍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()

 

这篇关于python 手动实现gelu,sigmod的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!