PyTorch学习笔记:nn.LeakyReLU——LeakyReLU激活函数

news2024/11/24 8:57:18

PyTorch学习笔记:nn.LeakyReLU——LeakyReLU激活函数

功能:逐元素对数据应用如下函数公式进行激活
LeakyReLU ( x ) = max ⁡ ( 0 , x ) + α ∗ min ⁡ ( 0 , x ) \text{LeakyReLU}(x)=\max(0,x)+\alpha*\min(0,x) LeakyReLU(x)=max(0,x)+αmin(0,x)
或者
LeakyReLU ( x ) = { x , i f x ≥ 0 α × x , otherwise \begin{aligned} \text{LeakyReLU}(x)= \left\{ \begin{matrix} x,\quad &if\quad x≥0 \\ \alpha\times x,\quad &\text{otherwise} \end{matrix} \right. \end{aligned} LeakyReLU(x)={x,α×x,ifx0otherwise
该函数相比于ReLU,保留了一些负轴的值,缓解了激活值过小而导致神经元参数无法更新的问题,其中 α \alpha α默认0.01。

函数图像:

在这里插入图片描述

输入:

  • negative_slope:控制负激活值的斜率,默认1e-2
  • inplace:是否改变输入数据,如果设置为True,则会直接修改输入数据;如果设置为False,则不对输入数据做修改

注意:

  • 输出数据与输入数据尺寸相同

代码案例

与ReLU做比较

import torch.nn as nn
import torch

LeakyReLU = nn.LeakyReLU(negative_slope=5e-2)
ReLU = nn.ReLU()
x = torch.randn(10)
value = ReLU(x)
value_l = LeakyReLU(x)
print(x)
print(value)
print(value_l)

输出

# 输入
tensor([ 0.1820, -0.4248, -0.9135,  0.1136, -1.0147, -0.5044,  0.1361,  0.0744,
         1.3379, -1.1290])
# ReLU
tensor([0.1820, 0.0000, 0.0000, 0.1136, 0.0000, 0.0000, 0.1361, 0.0744, 1.3379,
        0.0000])
# LeakyReLU
tensor([ 0.1820, -0.0212, -0.0457,  0.1136, -0.0507, -0.0252,  0.1361,  0.0744,
         1.3379, -0.0564])

注:绘图程序

import torch.nn as nn
import torch
import numpy as np
import matplotlib.pyplot as plt

LeakyReLU = nn.LeakyReLU(negative_slope=5e-2)
x = torch.from_numpy(np.linspace(-3,3,100))
value = LeakyReLU(x)
plt.plot(x, value)
plt.savefig('LeakyReLU.jpg')

官方文档

nn.LeakyReLU:https://pytorch.org/docs/stable/generated/torch.nn.LeakyReLU.html#torch.nn.LeakyReLU

初步完稿于:2022年2月16日

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/337175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在浏览器输入url到发起http请求,这过程发生了什么

当用户输入url,操作系统会将输入事件传递到浏览器中,在这过程中,浏览器可能会做一些预处理,比如 Chrome 会根据历史统计来预估所输入字符对应的网站,例如输入goog,根据之前的历史发现 90% 的概率会访问「ww…

1理想的大数据处理框架设计

以下内容基于极客 蔡元楠老师的《大规模数据处理实战》做的笔记哈。感兴趣的去极客看蔡老师的课程即可。 MapReduce 缺点 高昂的维护成本 因为mapreduce模型只有map和reduce两个步骤。所以在处理复杂的架构的时候,需要协调多个map任务和多个reduce任务。 例如计…

C#开发的OpenRA的扩展方法

C#开发的OpenRA的扩展方法 在我们以往的开发方法认知里, 对一个类进行扩展方法,只有继父类,然后在子类里创建新的内容。 但是C#又给我们上了一课,它不但可以采用前面的方法, 而且可以对类没有进行继承,也能扩展类型的方法。 这种方式,对于没有进行学习之前,看到代码就是…

Allegro更改线段,丝印,走线,形状,铜箔到不同层的方法

更改线段到不同的Class和Subclass的方法下面以更改线段为例进行讲解1、原先线段在Board Geometry→Soldermask_Top层2、选中线段,鼠标右击选择→Change class/subclass更改到所想要的Class和Subclass3、更改后的线段到Package Geometry→Silkscreen_Top层更改丝印&a…

详解shell中的运算符

目录 前言 一、运算指令 二、运算符号 练习 总结 前言 上一篇文章我们着重学习了 ,shell中的执行流控制,本章我很学习和执行流控制相结合使用的运算符号与运算指令。 一、运算指令 计算的三种方式 (()) ##((a12)) let …

51单片机——74HC595的应用(SPI实践)

目录 SPI总线 SPI总线概述 SPI总线分类 SPI 优点及缺点 SPI接口硬件原理 SPI四种工作模式 74HC595应用 74HC595芯片概述 74HC595封装及管脚功能 74HC595工作原理 ​编辑 74HC595串行转并行点亮LED灯 程序实现 Proteus运行结构示意图 SPI总线 SPI总线概述 SPI&#…

【FiddlerScript】利用Fiddler中的FiddlerScript解除7K7K小游戏的防沉迷

本文仅供技术探讨,切勿用于非法用途案例网站:http://www.7k7k.com/准备的工具:配置好的Fiddler一个Fiddler官方英文版配置教程:https://www.bilibili.com/video/BV1rP4y1t7ZLFiddler中文版配重教程:https://www.bilibili.com/video/BV1CP4y1t7DR开始教程来到Fiddler…

10 个最难理解的 Python 概念

文章目录技术提升面向对象编程 (OOP)装饰器生成器多线程异常处理正则表达式异步/等待函数式编程元编程网络编程大家好,与其他编程语言相比,Python 是一门相对简单的编程语言,如果你想真正学透这门语言,其实可能并不容易。 今天我…

彻底弄懂HTTP缓存机制及原理(二)

强制缓存 从上文我们得知,强制缓存,在缓存数据未失效的情况下,可以直接使用缓存数据,那么浏览器是如何判断缓存数据是否失效呢? 我们知道,在没有缓存数据的时候,浏览器向服务器请求数据时&…

Linux(十一)生产者与消费者模型

引言 一、实现一个网关来过滤流经网关的数据 二、农忙时节收割麦子 生产者与消费者模型 模型实现 完整源码: 引言 阐述这个模型之前先引入俩个例子: 一、实现一个网关来过滤流经网关的数据 网关会捕捉大量的数据然后进行分析处理,之后…

VHDL语言基础-状态机设计-时序电路与状态机的关系

目录 时序电路的概念: 下面以一个简单的三位计数器为例,说明时序电路的结构: 三位计数器的结构: 次态逻辑关系的推导;画出卡诺图如下: 电路图: 时序电路与状态机的关系: 状态机…

PyTorch学习笔记:nn.Tanh——Tanh激活函数

PyTorch学习笔记:nn.Tanh——Tanh激活函数 torch.nn.Tanh()功能:逐元素应用Tanh函数(双曲正切)对数据进行激活,将元素调整到区间(-1,1)内 函数方程: Tanh(x)tanh(x)ex−e−xexe−x\text{Tanh}(x)\text{ta…

每天10个前端小知识 【Day 11】

前端面试基础知识题 1. 浏览器的垃圾回收机制有哪些? JS会在创建变量时自动分配内存,在不使用的时候会自动周期性的释放内存,释放的过程就叫 “垃圾回收”。 一方面自动分配内存减轻了开发者的负担,开发者不用过多的去关注内存…

单链表--C语言版(从0开始,超详细解析,小白一看就会)

目录 一、前言 🍎 为什么要学习链表 💦顺序表有缺陷 💦 优化方案:链表 二、链表详解 🍐链表的概念 🍉链表的结构组成:节点 🍓链表节点的连接(逻辑结构与物理结构的区…

java spring注解方式 实现基本类型属性注入

之前 我们看了几个注入属性的注解 但他们都是注入对象类型的 那么 下面我们就看一个 给基本属性注入值的注解 value 我们直接代码快速演示一下 创建一个项目 然后引入 spring 所需要的依赖 然后在src下创建包 Bean 在 Bean目录下创建一个包 叫 UserData 然后在src下创建 bean…

leaflet 上传geojson文件,在地图上显示图形(示例代码053)

第053个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet示例中上传geojson文件,通过L.geojson解析,在地图上显示图形。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共97行)相关API参考:专栏目标…

微服务项目【mybatis-plus与微服务注册】

Mybatis与微服务注册 一、SpringBoot整合MybatisPlus 创建自动生成代码子模块 基于maven方式创建子模块zmall-generator&#xff0c;用于结合mybatis-plus生成代码。 在公共模块zmall-common中注释掉mybatis的依赖引入&#xff0c;改换成mybatis-plus依赖引入 <!-- myba…

【大数据Hadoop】Hadoop 3.x 新特性总览

Hadoop 3.x 新特性剖析系列11. 概述2. 内容2.1 JDK2.2 EC技术2.3 YARN的时间线V.2服务2.3.1 伸缩性2.3.2 可用性2.3.3 架构体系2.4 优化Hadoop Shell脚本2.5 重构Hadoop Client Jar包2.6 支持等待容器和分布式调度2.7 支持多个NameNode节点2.8 默认的服务端口被修改2.9 支持文件…

MAC Pro 安装 VS Code 配置 C/C++ 开发环境

目录 文章目录目录安装 VS Code配置 C/C 开发环境Hello World1、创建项目和源码2、编译运行3、调试C/C configuration安装 VS Code 下载安装包&#xff1a;https://code.visualstudio.com/Download解压并将文件放入 “应用程序"。 配置 C/C 开发环境 官方文档&#xff1…

linux 服务器线上问题故障排查

一 线上故障排查概述 1.1 概述 线上故障排查一般从cpu,磁盘,内存,网络这4个方面入手; 二 磁盘的排查 2.1 磁盘排查 1.使用 df -hl 命令来查看磁盘使用情况 2.从读写性能排查:iostat -d -k -x命令来进行分析 最后一列%util可以看到每块磁盘写入的程度,而rrqpm/s以及…