当前位置: 首页 > news >正文

pytorch之relu激活函数

目录

1、relu

2、relu6

3、leaky_relu

4、ELU

5、SELU

6、PReLU


1、relu

ReLU(Rectified Linear Unit)是一种常用的神经网络激活函数,它在PyTorch中被广泛使用。ReLU函数接受一个输入值,如果该值大于零,则返回该值;否则返回零。

在PyTorch中,可以使用torch.relu()函数来应用ReLU激活函数。

import torch as t
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-100,100,1000)
y=t.nn.functional.relu(t.tensor(x,dtype=t.float32)).numpy()
plt.plot(x,y)
plt.title("relu")
plt.xlabel("x")
plt.ylabel("relu(x)")
plt.grid(True)
plt.show()
​

2、relu6

PyTorch中的ReLU6激活函数是一种常用的激活函数,其形式为f(x) = min(max(0, x), 6)。该函数将输入x限制在0和6之间,小于0的值会被截断为0,大于6的值会被截断为6。ReLU6激活函数可以帮助提高模型的非线性表达能力,并且具有较好的稳定性和抗饱和性。在PyTorch中,可以通过torch.nn.ReLU6()函数来使用ReLU6激活函数。

import torch as t
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-100,100,1000)
y=t.nn.functional.relu6(t.tensor(x,dtype=t.float32)).numpy()
plt.plot(x,y)
plt.title("relu6")
plt.xlabel("x")
plt.ylabel("relu6(x)")
plt.grid(True)
plt.show()

3、leaky_relu

leaky_relu是PyTorch中的一种激活函数,用于引入非线性特性。它与传统的ReLU(修正线性单元)相似,但在负数输入时不会完全变为零,而是保留一个小的负斜率。这有助于避免“死亡神经元”,即在训练过程中停止响应的神经元。

在PyTorch中,可以使用torch.nn.functional模块中的leaky_relu函数来使用leaky_relu激活函数。

import torch as t
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-100,100,1000)
y=t.nn.functional.leaky_relu(t.tensor(x,dtype=t.float32)).numpy()
plt.plot(x,y)
plt.title("leaky_relu")
plt.xlabel("x")
plt.ylabel("leaky_relu(x)")
plt.grid(True)
plt.show()
​

4、ELU

在PyTorch中,ELU(Exponential Linear Unit)激活函数是一种常用的非线性激活函数。它通过将输入值指数化,然后对负输入进行缩放,以实现更好的性能。

在PyTorch中,可以使用torch.nn.ELU模块来实现ELU激活函数。

import torch as t
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-100,100,1000)
elu=t.nn.ELU()
y=elu(t.tensor(x,dtype=t.float32)).data.numpy()
plt.plot(x,y)
plt.title("ELU")
plt.xlabel("x")
plt.ylabel("ELU(x)")
plt.grid(True)
plt.show()

5、SELU

SELU(Scaled Exponential Linear Units)是一种激活函数,常用于神经网络中。

在PyTorch中,可以使用torch.nn.functional.selu()函数来实现SELU函数的运算。SELU函数的定义为:

SELU(x) = scale * (max(0, x) + min(0, alpha * (exp(x) - 1)))

其中,scale和alpha是两个可调的参数。通常情况下,scale的值取1.0507,alpha的值取1.6733。

import torch as t
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-100,100,1000)
selu=t.nn.SELU()
y=selu(t.tensor(x,dtype=t.float32)).data.numpy()
plt.plot(x,y)
plt.title("SELU")
plt.xlabel("x")
plt.ylabel("SELU(x)")
plt.grid(True)
plt.show()

6、PReLU

PReLU(Parametric Rectified Linear Unit)是一种用于人工神经网络中的激活函数,可用于解决梯度消失和神经元死亡等问题。PReLU与ReLU(Rectified Linear Unit)类似,但具有可调参数。

PReLU的数学表达式如下:

f(x) = max(0, x) + a * min(0, x)

其中,x为输入,a为可调参数。当a=0时,PReLU即为传统的ReLU函数。

PReLU的优势在于它可以允许负值通过,使得神经元可以接收更丰富的信息。同时,通过调整参数a,可以控制负值部分的斜率,从而提供更大的模型灵活性。

在PyTorch中,可以使用torch.nn.PReLU()来创建一个PReLU的实例。

import torch as t
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-100,100,1000)
prelu=t.nn.PReLU()
y=prelu(t.tensor(x,dtype=t.float32)).data.numpy()
plt.plot(x,y)
plt.title("PReLU")
plt.xlabel("x")
plt.ylabel("PReLU(x)")
plt.grid(True)
plt.show()

相关文章:

pytorch之relu激活函数

目录 1、relu 2、relu6 3、leaky_relu 4、ELU 5、SELU 6、PReLU 1、relu ReLU(Rectified Linear Unit)是一种常用的神经网络激活函数,它在PyTorch中被广泛使用。ReLU函数接受一个输入值,如果该值大于零,则返回该…...

UML---用例图

UML–用例图 0.用例图简介 用例图是一种UML(统一建模语言)的图形化表示方法,用于描述系统的功能和行为。它可以帮助系统分析师和开发人员理解系统的需求,用例图由参与者、用例和它们之间的关系组成。 1.用例图的组成部分 系统…...

后端配置跨域怎么配置

在后端配置跨域,需要在服务器的代码中添加相应的设置。以下是几种常见的后端语言的跨域配置方式: Node.js 在使用 Node.js 的 Express 框架时,可以使用 cors 中间件来处理跨域问题。安装 cors 中间件后,在代码中添加如下设置&am…...

【计算机组成】实模式/保护模式下地址分段(基段地址+偏移地址)的原因

一.硬编码/静态重定向 我们先来观察下没有地址分段时代CPU是怎么和内存们打交道,在8086CPU以前的老大哥们,访问内存时通常就是实打实的“指哪打哪”,程序指定要放在哪个地址,那就老老实实地放在哪个地址,比如程序A要放…...

Web逆向-某网络学院学习的”偷懒“思路分析

接到求助,帮朋友完成20课时的网络学习。 我想都没想就接下了,寻思找个接口直接把学习时间提交上去,易如反掌。 最不济最不济,咱还能16x播放,也简单的很 然鹅,当我登陆的时候,发现自己还是太天真…...

一个用python PyQT写的背单词小程序

主要用到了QGridLayout, QTableWidget import sys import os import pandas as pd from PyQt5.QtWidgets import *class DataFrameExample(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle(DataFrame Example)self.setGeom…...

AutoSAR配置与实践(深入篇)10.1 UDS刷写诊断服务解析(34/36/37服务)

AutoSAR配置与实践(深入篇)10.1 Boot刷写诊断服务解析(34/36/37服务) UDS刷写服务一、0x34服务1.1 0x34服务请求格式1.2 0x34服务响应格式1.3 举例说明二、TransferData (0x36) service2.1 0x36服务请求格式2.2 0x36服务响应格式2.3 举例说明三、RequestTransferExit (0x37…...

【机器学习】六、概率图模型

今天我们对概率图模型(Probabilistic Graphical Model,PGM)做一个总结。 模型表示 概率图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。 它提出的背景是为了更好研究复杂联合概率分布的数据特征&#x…...

机器视觉软件破解的背后是道高一尺,魔高一丈

讲个故事,小明从某购物平台花2000元买了一个C#机器视觉架构,压缩包带加密,卖家让小明先确认收货后给密码。 小明花了3元从另外一家卖家破解开压缩包密码,然后迅速从第一家卖家退货。小明成功省了1997元。 “道高一尺&#xff0c…...

【I/O流之旅】File类-零基础入门指南

🎊专栏【Java】 🌺每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…...

ArrayList和LinkedList的区别有哪些?

ArrayList 和 LinkedList 是 Java 中常用的两种集合类,它们之间有一些重要的区别,主要涉及到其内部实现和性能特点: 内部实现: ArrayList 是基于动态数组实现的。它使用一个数组来存储元素,当数组已满并需要添加新元素…...

Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题

1.0 安装selenium 终端输入: pip install selenium 查看版本: pip show selenium2.0 安装chromedriver 查看chrome版本 网上大多数是,基本到114就停了。 https://registry.npmmirror.com/binary.html?pathchromedriver/ 各种搜索&#…...

Java TCP服务端多线程接收RFID网络读卡器上传数据

本示例使用设备介绍:WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; impor…...

SpringCloud——服务网关——GateWay

1.GateWay是什么? gateway也叫服务网关,SpringCloud GateWay使用的是Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架。 gateway的功能有反向代理、鉴权、流量控制、熔断、日志监控...... 2.为什么不使用Zuul&#xff1f…...

Linux程序的地址空间

Linux程序的地址空间 📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容深刻理解了什么程序或者进程的地址…...

Docker安装Minio(稳定版)

1、安装 docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z docker run -p 9000:9000 minio/minio:RELEASE.2021-06-17T00-10-46Z server /data 2、访问测试 3、MinIO自定义Access和Secret密钥 要覆盖MinIO的自动生成的密钥,您可以将Access和Secret密钥设为…...

大数据毕业设计选题推荐-超级英雄运营数据监控平台-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

视频转码教程:轻松制作GIF动态图,一键高效剪辑操作

随着社交媒体的兴起,GIF动态图已经成为了人们表达情感、分享精彩瞬间的重要方式。而将视频转化为GIF动态图,不仅可以方便地在社交媒体上分享,还可以延长视频的播放时长,吸引更多的观众。本篇文章将为大家介绍如何将视频轻松转化为…...

Seata分布式事务实现原理

Seata可以解决分布式事务问题,利用GlobalTransacational(name "fsp-create-order",rollbackFor Exception.class)注解就可以实现全局的事务管理,但是我们需要明白原理的实现。 我们举例创建订单——>调减库存——>调扣余额——>改订…...

Rasa NLU中的组件

Rasa NLU部分主要是解决NER(序列建模)和意图识别(分类建模)这2个任务。Rasa NLP是一个基于DAG的通用框架,图中的顶点即组件。组件特征包括有顺序关系、可相互替换、可互斥和可同时使用。有向无环图(DAG&…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...