LeakyReLU激活函数
nn.LeakyReLU 是PyTorch中的Leaky Rectified Linear Unit(ReLU)激活函数的实现。Leaky ReLU是一种修正线性单元,它在非负数部分保持线性,而在负数部分引入一个小的斜率(通常是一个小的正数),以防止梯度消失问题。这种激活函数的数学表达式如下:

negative_slope:x为负数时的需要的一个系数,控制负斜率的角度。默认值:1e-2(0.01)

本文主要包括以下内容:
- 1.nn.LeakyReLU的函数构成
- 2.nn.LeakyReLU的常见用法
- 3.LeakyReLU函数图像实现
1.nn.LeakyReLU的函数构成
nn.LeakyReLU 是PyTorch中的Leaky Rectified Linear Unit(ReLU)激活函数的实现,它是torch.nn.Module的子类。下面是 nn.LeakyReLU 类的主要构成部分和参数:
class nn.LeakyReLU(negative_slope=0.01, inplace=False)
构造函数参数:
negative_slope(默认为0.01):这是Leaky ReLU激活函数的负斜率,即在输入值为负数时的斜率。它是一个浮点数,通常设置为一个小的正数,以控制在负数区域的线性部分的斜率。较小的值会导致更线性的行为,较大的值会导致更接近传统ReLU的行为。inplace(默认为False):如果设置为True,则会在原地修改输入张量,否则将创建一个新的张量作为输出。原地操作可以节省内存,但可能会改变输入张量的值。
nn.LeakyReLU 在前向传播时将输入张量中的负值部分乘以 negative_slope,从而实现Leaky ReLU激活函数的效果。它通常用于深度神经网络中,以缓解梯度消失问题,并引入非线性变换。
在PyTorch中,我们可以使用nn.LeakyReLU类来创建Leaky ReLU激活函数,并可以通过参数来设置斜率。
2.nn.LeakyReLU的常见用法
以下是使用nn.LeakyReLU的一些常见用法:
- 创建Leaky ReLU激活函数层:
import torch.nn as nn# 创建一个Leaky ReLU激活函数层,斜率为0.2(可以根据需要进行调整)
leaky_relu = nn.LeakyReLU(0.2)
- 对张量应用Leaky ReLU激活函数:
import torch# 创建一个示例输入张量
input_tensor = torch.tensor([-1.0, 2.0, -3.0, 4.0, -5.0])# 应用Leaky ReLU激活函数
output_tensor = leaky_relu(input_tensor)
在上面的示例中,output_tensor将包含应用Leaky ReLU激活函数后的结果,其中负数部分被乘以了斜率0.2。
使用Leaky ReLU激活函数的一个主要优势是它可以缓解梯度消失问题,特别是在深度神经网络中。我们可以根据实际问题和实验结果来调整斜率的值,以获得最佳性能。
下面是使用示例:
import torch
import torch.nn as nn# 创建LeakyReLU激活函数层,默认的negative_slope是0.01
leaky_relu = nn.LeakyReLU()# 示例输入张量
input_tensor = torch.tensor([-1.0, 2.0, -3.0, 4.0, -5.0])# 应用Leaky ReLU激活函数
output_tensor = leaky_relu(input_tensor)print(output_tensor)
#输出结果
#tensor([-0.0100, 2.0000, -0.0300, 4.0000, -0.0500])
这将输出一个张量,其中负数部分被乘以了默认的 negative_slope 值0.01。
3.LeakyReLU函数图像实现
Leaky ReLU(Leaky Rectified Linear Unit)激活函数在非负数部分保持线性,而在负数部分引入一个小的斜率(负斜率)。这个斜率通常是一个小的正数,例如0.01。下面是Leaky ReLU函数的图像示例,其中斜率设置为0.01:
import numpy as np
import matplotlib.pyplot as plt# 定义Leaky ReLU函数
def leaky_relu(x, negative_slope=0.01):return np.where(x >= 0, x, negative_slope * x)# 生成输入值范围
x = np.linspace(-5, 5, 100)# 计算Leaky ReLU的输出
y = leaky_relu(x, negative_slope=0.01)# 绘制Leaky ReLU函数的图像
plt.plot(x, y, label='Leaky ReLU (0.01)', color='b')
plt.xlabel('Input')
plt.ylabel('Output')
plt.title('Leaky ReLU Activation Function')
plt.axhline(0, color='black', linewidth=0.5, linestyle='--')
plt.axvline(0, color='black', linewidth=0.5, linestyle='--')
plt.legend()
plt.grid(True)
plt.show()
运行此段代码,即可得到LeakyReLU函数图像

上述代码生成了Leaky ReLU激活函数的图像,其中斜率设置为0.01。在图像中,我们可以看到,在负数区域,函数引入了一个小的负斜率,而在非负数区域,函数保持线性,值等于输入值。这是Leaky ReLU激活函数的基本特点,它允许一些负数值通过,并且对于大部分正数值保持线性。
我们可以通过更改negative_slope参数的值来调整Leaky ReLU函数的斜率,以满足不同需求。不同的斜率值会产生不同的非线性行为。
相关文章:
LeakyReLU激活函数
nn.LeakyReLU 是PyTorch中的Leaky Rectified Linear Unit(ReLU)激活函数的实现。Leaky ReLU是一种修正线性单元,它在非负数部分保持线性,而在负数部分引入一个小的斜率(通常是一个小的正数),以防…...
Qt单一应用实例判断
原本项目中使用QSharedMemory的方法来判断当前是否已存在运行的实例,但在MacOS上,当程序异常崩溃后,QSharedMemory没有被正常销毁,导致应用程序无法再次被打开。 对此,Qt assistant中有相关说明: 摘抄 qt-s…...
企业AI工程化之路:如何实现高效、低成本、高质量的落地?
MLOps工程实践 概述面临挑战目的内容简介读者对象专家推荐目录 写在末尾: 主页传送门:📀 传送 概述 作为计算机科学的一个重要领域,机器学习也是目前人工智能领域非常活跃的分支之一。机器学习通过分析海量数据、总结规律&#x…...
最短路径专题8 交通枢纽 (Floyd求最短路 )
题目: 样例: 输入 4 5 2 0 1 1 0 2 5 0 3 3 1 2 2 2 3 4 0 2 输出 0 7 思路: 由题意,绘制了该城市的地图之后,由给出的 k 个编号作为起点,求该点到各个点之间的最短距离之和最小的点是哪个,并…...
文件扫描模块
文章目录 前言文件扫描模块设计初级扫描方案一实现单线程扫描整合扫描步骤 设计初级扫描方案二周期性扫描 总结 前言 我们这个模块考虑的是数据库里面的内容从哪里获取。 获取完成后,这时候,我们就需要把目录里面文件/子文件都获取出来,并存入数据库。 文件扫描模…...
MySQL之主从复制
概述: 将主库的数据 变更同步到从库,从而保证主库和从库数据一致。 它的作用是 数据备份,失败迁移,读写分离,降低单库读写压力 原理: 主服务器上面的任何修改都会保存在二进制日志( Bin-log日志…...
[leetcode 单调栈] 901. 股票价格跨度 M
设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。 例如,如果未来 7 天股票的价格是 [100…...
Java线程池:并发编程的利器
Java线程池:并发编程的利器 在多任务、高并发的时代,Java并发编程显得尤为重要。其中,Java线程池是一种高效的管理线程的工具,能够提高应用程序的性能和响应速度。本文将深入探讨Java线程池的工作原理、应用场景以及简单示例&…...
ARM硬件断点
hw_breakpoint 是由处理器提供专门断点寄存器来保存一个地址,是需要处理器支持的。处理器在执行过程中会不断去匹配,当匹配上后则会产生中断。 内核自带了硬件断点的样例linux-3.16\samples\hw_breakpoint\data_breakpoint.c static void sample_hbp_h…...
Java使用WebSocket(基础)
准备一个html页面 <!DOCTYPE HTML> <html> <head><meta charset"UTF-8"><title>WebSocket Demo</title> </head> <body><input id"text" type"text" /><button onclick"send()&…...
图像处理与计算机视觉--第五章-图像分割-自适应阈值分割
文章目录 1.自适应阈值分割介绍2.自适应阈值函数参数解析3.高斯概率函数介绍4.自适应阈值分割核心代码5.自适应阈值分割效果展示6.参考文章及致谢 1.自适应阈值分割介绍 在图片处理过程中,针对铺前进行二值化等操作的时候,我们希望能够将图片相应区域内所…...
记一次问题排查
1785年,卡文迪许在实验中发现,把不含水蒸气、二氧化碳的空气除去氧气和氮气后,仍有很少量的残余气体存在。这种现象在当时并没有引起化学家的重视。 一百多年后,英国物理学家瑞利测定氮气的密度时,发现从空气里分离出来…...
【Spring Boot】创建一个 Spring Boot 项目
创建一个 Spring Boot 项目 1. 安装插件2. 创建 Spring Boot 项目3. 项目目录介绍和运行注意事项 1. 安装插件 IDEA 中安装 Spring Boot Helper / Spring Assistant / Spring Initializr and Assistant插件才能创建 Spring Boot 项⽬ (有时候不用安装,直…...
flutter中使用缓存
前言 在flutter项目中使用ListView或者PageView等有滚动条组件的时候,切换页面的时候,再切换回来会丢失之前的滑动状态,这个时候就需要需要使用缓存功能 缓存类 import package:flutter/material.dart;class KeepAliveWrapper extends Sta…...
京东数据分析平台:9月中上旬白酒消费市场数据分析
9月份,围绕白酒的热点不断。9月5日,瑞幸咖啡官微发布消息称,瑞幸与贵州茅台跨界合作推出的酱香拿铁刷新单品纪录,首日销量突破542万杯,销售额破1亿元。9月14日,贵州茅台官微发布消息称与德芙推出联名产品“…...
Linux安装 spark 教程详解
目录 一 准备安装包 二 安装 scala 三 修改配置文件 1)修改 workers 文件 2)修改 spark-env.sh文件 四 进入 spark 交互式平台 一 准备安装包 可以自行去 spark 官网下载想要的版本 这里准备了 spark3.1.2的网盘资源 链接: https://pan.baidu.com…...
动态内存管理函数(malloc,calloc,realloc,free)
动态内存函数 1.1malloc和free C语言提供了一个动态内存开辟的函数: void* malloc (size_t size); 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。 如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败&#…...
云表|都有生产管理模块,MES和ERP有什么不同,该如何选择
MES和ERP是生产制造领域的两大知名系统,虽然早已声名鹊起,但仍有不少人难以明确区分两者的差异。下面将详细阐述这两个系统的不同之处。首先,要了解MES和ERP的定义。 MES系统:全称制造执行系统(Manufacturing Executio…...
C语言 - 数组
目录 1. 一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储 3. 数组越界 4. 数组作为函数参数 4.1…...
Vue 中的插槽(Slot),有什么用,不同插槽的区别?
Vue 中的插槽(Slot案例详解) 是一种非常有用的功能,用于组件之间的内容分发和复用。以下是关于插槽的一些重要概念: 插槽的作用: 插槽允许你将组件的内容分发到其子组件中,以实现灵活的组件复用和自定义布局。通过插槽…...
iperf3 Windows网络性能测试:重新定义网络基准测试标准
iperf3 Windows网络性能测试:重新定义网络基准测试标准 【免费下载链接】iperf3-win-builds iperf3 binaries for Windows. Benchmark your network limits. 项目地址: https://gitcode.com/gh_mirrors/ip/iperf3-win-builds 在Windows平台上进行精准网络性能…...
低成本脉冲多普勒雷达技术解析与应用
1. 低成本脉冲多普勒雷达技术概述脉冲多普勒雷达(Pulse Doppler Radar, PDR)作为一种能够同时测量目标距离和速度的传感器技术,在传统认知中往往与高成本、复杂架构划等号。这种刻板印象主要源于其典型架构需要独立的稳定本振(STALO)和相干振荡器(COHO)系统来保证信…...
2026年大模型产品经理成长指南:新手到专家的完整学习路径,大模型产品经理的完整学习路线图!
随着人工智能技术的发展,尤其是大模型(Large Model)的兴起,越来越多的企业开始重视这一领域的投入。作为大模型产品经理,你需要具备一系列跨学科的知识和技能,以便有效地推动产品的开发、优化和市场化。以下…...
告别SkewT斜温图:用Python的metpy库手把手绘制国内气象局标准T-LnP探空图
用Python的metpy库绘制符合国内气象标准的T-LnP探空图全指南 气象数据可视化是天气分析和预报中不可或缺的一环。在国内气象业务和教学中,T-LnP图(温度-对数压力图)作为探空分析的标准工具已有数十年历史。然而,许多气象工作者在使…...
iOS Swift 推送通知完整实现教程(前台/后台/杀死状态 全覆盖跳转)
一、前言 远程推送通知是iOS开发中高频必备功能,绝大多数App都需要实现推送消息提醒、点击通知跳转指定业务页面。iOS推送分为三种运行状态,开发中必须全部兼容:前台运行:App处于打开状态,直接接收推送弹窗后台挂起&am…...
Karate测试框架:一站式API、UI和性能测试的终极解决方案
Karate测试框架:一站式API、UI和性能测试的终极解决方案 【免费下载链接】karate Test Automation Made Simple 项目地址: https://gitcode.com/gh_mirrors/ka/karate 还在为复杂的测试自动化工具链而烦恼吗?想要一个能统一API测试、UI自动化、Mo…...
同花顺问财数据获取终极指南:Python量化分析的高效解决方案
同花顺问财数据获取终极指南:Python量化分析的高效解决方案 【免费下载链接】pywencai 获取同花顺问财数据 项目地址: https://gitcode.com/gh_mirrors/py/pywencai 在金融数据分析和量化投资领域,获取实时、准确的股票数据是每个分析师面临的核心…...
Vue2项目集成DHTMLX Gantt:从基础配置到企业级功能定制
1. 为什么选择DHTMLX Gantt与Vue2集成 在项目管理系统的开发中,甘特图是最核心的视图之一。我调研过市面上几乎所有主流甘特图方案,最终选择DHTMLX Gantt主要基于三个实际考量: 首先,它的渲染性能确实出色。在测试中,加…...
【零基础部署】Ollama 部署 Qwen2.5 保姆级教程
你是否想在本地运行大语言模型,但又被复杂的环境配置劝退?Ollama 是一款轻量级的本地大模型运行工具,只需一行命令即可部署。Qwen2.5 是阿里巴巴通义千问团队推出的强大开源模型,支持多种规格。本教程将手把手带你通过 Ollama 在 Ubuntu 上部署 Qwen2.5,从安装到 API 调用…...
如何高效提取Unity中的Live2D模型:专业开发者的实用指南
如何高效提取Unity中的Live2D模型:专业开发者的实用指南 【免费下载链接】UnityLive2DExtractor Unity Live2D Cubism 3 Extractor 项目地址: https://gitcode.com/gh_mirrors/un/UnityLive2DExtractor UnityLive2DExtractor是一款专为Unity开发者设计的强大…...
