python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数

# -*- coding:utf-8 -*-

from matplotlib import pyplot as plt

import numpy as np

import mpl_toolkits.axisartist as axisartist

def sigmoid(x):

return 1. / (1 + np.exp(-x))

def tanh(x):

return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))

def relu(x):

return np.where(x<0,0,x)

def prelu(x):

return np.where(x<0,0.5*x,x)

def plot_sigmoid():

x = np.arange(-10, 10, 0.1)

y = sigmoid(x)

fig = plt.figure()

# ax = fig.add_subplot(111)

ax = axisartist.Subplot(fig,111)

ax.spines[‘top‘].set_color(‘none‘)

ax.spines[‘right‘].set_color(‘none‘)

# ax.spines[‘bottom‘].set_color(‘none‘)

# ax.spines[‘left‘].set_color(‘none‘)

ax.axis[‘bottom‘].set_axisline_style("-|>",size=1.5)

ax.spines[‘left‘].set_position((‘data‘, 0))

ax.plot(x, y)

plt.xlim([-10.05, 10.05])

plt.ylim([-0.02, 1.02])

plt.tight_layout()

plt.savefig("sigmoid.png")

plt.show()

def plot_tanh():

x = np.arange(-10, 10, 0.1)

y = tanh(x)

fig = plt.figure()

ax = fig.add_subplot(111)

ax.spines[‘top‘].set_color(‘none‘)

ax.spines[‘right‘].set_color(‘none‘)

# ax.spines[‘bottom‘].set_color(‘none‘)

# ax.spines[‘left‘].set_color(‘none‘)

ax.spines[‘left‘].set_position((‘data‘, 0))

ax.spines[‘bottom‘].set_position((‘data‘, 0))

ax.plot(x, y)

plt.xlim([-10.05, 10.05])

plt.ylim([-1.02, 1.02])

ax.set_yticks([-1.0, -0.5, 0.5, 1.0])

ax.set_xticks([-10, -5, 5, 10])

plt.tight_layout()

plt.savefig("tanh.png")

plt.show()

def plot_relu():

x = np.arange(-10, 10, 0.1)

y = relu(x)

fig = plt.figure()

ax = fig.add_subplot(111)

ax.spines[‘top‘].set_color(‘none‘)

ax.spines[‘right‘].set_color(‘none‘)

# ax.spines[‘bottom‘].set_color(‘none‘)

# ax.spines[‘left‘].set_color(‘none‘)

ax.spines[‘left‘].set_position((‘data‘, 0))

ax.plot(x, y)

plt.xlim([-10.05, 10.05])

plt.ylim([0, 10.02])

ax.set_yticks([2, 4, 6, 8, 10])

plt.tight_layout()

plt.savefig("relu.png")

plt.show()

def plot_prelu():

x = np.arange(-10, 10, 0.1)

y = prelu(x)

fig = plt.figure()

ax = fig.add_subplot(111)

ax.spines[‘top‘].set_color(‘none‘)

ax.spines[‘right‘].set_color(‘none‘)

# ax.spines[‘bottom‘].set_color(‘none‘)

# ax.spines[‘left‘].set_color(‘none‘)

ax.spines[‘left‘].set_position((‘data‘, 0))

ax.spines[‘bottom‘].set_position((‘data‘, 0))

ax.plot(x, y)

plt.xticks([])

plt.yticks([])

plt.tight_layout()

plt.savefig("prelu.png")

plt.show()

if __name__ == "__main__":

plot_sigmoid()

plot_tanh()

plot_relu()

plot_prelu()

python不支持prelu_python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数相关推荐

  1. 小技巧(10):使用Python绘制激活函数(Sigmoid、Tanh、ReLU、PReLU)图像

    文章目录 一.单张绘制 1.1 代码 1.2 绘制结果 二.4张图绘制成1张图 2.1 代码 2.2 绘制结果 一.单张绘制 1.1 代码 import numpy as np import matp ...

  2. 为什么要使用sigmoid,tanh,ReLU等非线性函数?

    参考:https://zhuanlan.zhihu.com/p/46255482 修正线性单元,是人工神经网络中常用的激活函数,通常指代以斜坡函数及其变种为代表的非线性函数. 这个原因大家都知道,为了 ...

  3. PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ 激活函数是神经网络中的重要组成部分.在多层神经网络中,上层节点的输出和下层节点的输入之间有一个函数关系.如果这个函数我们设置为非线性函数,深层网络的表达能 ...

  4. 深度学习之激活函数篇(Sigmoid、tanh、ReLU、PReLU)

    写在前面:此文只记录了下本人感觉需要注意的地方,不全且不一定准确.详细内容可以参考文中帖的链接,比较好!!! 常用激活函数(激励函数)理解与总结 激活函数的区别与优点 梯度消失与爆炸 1. 激活函数是 ...

  5. 最全面:python绘制Sigmoid、Tanh、Swish、ELU、SELU、ReLU、ReLU6、Leaky ReLU、Mish、hard-Sigmoid、hard-Swish等激活函数(有源码)

    python绘制激活函数 代码 示例 代码 我构建了一个关于激活函数的类,大家可以随意使用,包括其输出值和梯度值. 关于这些激活函数详解可以参考我这篇博客:深度学习-激活函数详解(Sigmoid.ta ...

  6. Sigmoid、Tanh、ReLU、Leaky_ReLU、SiLU、Mish函数python实现

    Sigmoid.Tanh.ReLU.Leaky_ReLU.SiLU.Mish函数 import numpy as np import matplotlib.pyplot as pltdef Sigmo ...

  7. 神经网络激活函数sigmoid、tanh、Relu、LeakyRelu、Elu、PRelu、MaxOut的java实现

    神经网络常用激活函数包括sigmoid.tanh.Relu.LeakyRelu.Elu.PRelu和MaxOut.对每一种函数采用java进行实现.前面四种激活函数是固定形式,后面三种激活函数部分参数 ...

  8. 【Deep Learning 三】神经网络中的非线性激活函数之间的优缺点:sigmoid、tanh、ReLu、Leaky ReLu...

    1 什么是激活函数? 激活函数,并不是去激活什么,而是指如何把"激活的神经元的特征"通过函数把特征保留并映射出来(保留特征,去除一些数据中是的冗余),这是神经网络能解决非线性问题关 ...

  9. 机器学习最常用的3种激活函数:Sigmoid、Tanh、Relu

    目录 1 什么是激活函数 2 为什么使用激活函数 3 常用激活函数 1 Sigmoid 2 Tanh 3 Relu 1 什么是激活函数 激活函数(Activation Function)在人工神经网络 ...

最新文章

  1. python 怎样使list 里面的数据相加
  2. python作业网站_python大作业
  3. boost::gil::threshold_adaptive用法的测试程序
  4. Lua——table(表)的使用
  5. netcore 中的动态代理与RPC实现(微服务专题)
  6. js 事件学习与总结
  7. android程序 幻灯片,Android:ViewPager制作幻灯片
  8. 初入java行业,环境你可知如何配置
  9. 华为随身wifi不显示无服务器,没网卡不要紧 华为随行WiFi Pro让你上网无忧
  10. HF-NET环境配置与安装
  11. 用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法:
  12. 30个非常有趣的404错误页面设计欣赏
  13. 亦是美网络,致力于操作系统应用与计算机网络技术的IT网站。
  14. plupload上传文件 php,jQuery Plupload上传插件的使用方法详解
  15. BUUCTF~Misc~Test5
  16. 四、神奇的自然常数e之“自然”初现
  17. dax和m的区别_DAX:一文透彻理解DAX本质
  18. 纯属娱乐的涂色绘画系统
  19. 5.Numpy数组中数据的抽取
  20. linux桌面文件夹路径是什么,【已解决】Ubuntu中右键(桌面和文件夹)打开终端(定位到当前路径)...

热门文章

  1. jQuery 调用jsonp实现与原理
  2. 2009年总结-爱与快乐着
  3. “证券教父”阚治东旗下东方汇富成失信被执行人 官方澄清
  4. agc018B Sports Festival
  5. Laravel 加载第三方类库的方法
  6. 百度,一面,二面知识点
  7. 从源码看runLoop
  8. Oracle查看用户权限
  9. mysq中文编码问题
  10. 批处理技巧:循环固定目录的子目录,然后向每个子目录拷贝文件