pytorch中torch.nn.functional.normalize、nn.norm和LayerNorm计算中的区别

torch.nn.functional.normalize

计算方式

v = v max ⁡ ( ∥ v ∥ p , ϵ ) \mathbf{v} = \frac{\mathbf{v}}{\max\left(\|\mathbf{v}\|_p, \epsilon\right)} v=max(vp,ϵ)v

pytorch例子

a = torch.arange(12).reshape(3,4).float()
torch.nn.functional.normalize(a, dim=-1)
'''
tensor([[0.0000, 0.2673, 0.5345, 0.8018],[0.3563, 0.4454, 0.5345, 0.6236],[0.4182, 0.4704, 0.5227, 0.5750]])
'''

这样除一下就相等了

a = torch.arange(12).reshape(3,4).float()
torch.nn.functional.normalize(a, dim=-1)
'''
tensor([[0.0000, 0.2673, 0.5345, 0.8018],[0.3563, 0.4454, 0.5345, 0.6236],[0.4182, 0.4704, 0.5227, 0.5750]])
'''
a / a.norm(dim=-1,keepdim=True)
'''
tensor([[0.0000, 0.2673, 0.5345, 0.8018],[0.3563, 0.4454, 0.5345, 0.6236],[0.4182, 0.4704, 0.5227, 0.5750]])
'''

nn.norm

计算方式

可以通过p参数指定是pro(Frobenium norm,其实就是平方和开根号)还是nuc(叫nuclear norm,其实就是SVD分解的奇异值,也就是Singular Value)

pytorch例子

a = torch.arange(12).reshape(3,4).float()
a.norm(dim=-1, keepdim=True)
'''
tensor([[ 3.7417],[11.2250],[19.1311]])
'''

LayerNorm

计算方式

分子减均值,分母对方差开根号,更多细节参考 超细节的BatchNorm/BN/LayerNorm/LN/SyncLN/ShuffleBN/RMSNorm知识点

pytorch例子

a = torch.arange(12).reshape(3,4).float()
(a - a.mean(dim=-1, keepdims=True)) / torch.sqrt(a.var(dim=-1, keepdims=True, correction=0))
'''
tensor([[-1.3416, -0.4472,  0.4472,  1.3416],[-1.3416, -0.4472,  0.4472,  1.3416],[-1.3416, -0.4472,  0.4472,  1.3416]])
'''

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

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

相关文章

sentinel限流+其他

quick-start | Sentinel sentinel 作用 限流 熔断降级 1,限制什么 QPS 并发线程数 2,限制什么 资源,什么资源 服务,方法,接口,或者一段代码 3,实现方式 配置规则 注解 其他 Java常见5种限流…

运行Zr.Admin项目(后端)

1.下载Zr.Admin代码压缩包 https://codeload.github.com/izhaorui/Zr.Admin.NET/zip/refs/heads/main 2.打开项目 我这里装的是VS2022社区版 进入根目录,双击ZRAdmin.sln打开项目 3.安装.net7运行时 我当时下载的代码版本是.net7的 点击安装 点击安装&#xff0…

Linux系统升级OpenSSH 9.8流程

参考链接: openssh最新版本下载地址:Index of /pub/OpenBSD/OpenSSH/portable/ 注意:openssh9.8需要依赖openssl,版本至少为1.1.1。 一、简介 Openssh存在远程代码执行漏洞(CVE-2024-6387),攻击者可以成功利用该漏…

webrtc-internals调试工具

Google 的 Chrome(87 或更高版本)WebRTC 内部工具是一套内置于 Chrome 浏览器中的调试工具; webrtc-internals 能够查看有关视频和音频轨道、使用的编解码器以及流的一般质量的详细信息。这些知识对于解决音频和视频质量差的问题非常有帮助。 webrtc-int…

选择屏幕的用法

**************************定义控件*********************************** SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002. SELECT-OPTIONS bukrs FOR iloa-bukrs . "公司代码 SELECT-OPTIONS swerk FOR iloa-swerk OBLIGATORY . "工厂 SELECT-O…

Webpack在Vue CLI中的应用

webpack 作为目前最流行的项目打包工具,被广泛使用于项目的构建和开发过程中,其实说它是打包工具有点大材小用了,我个人认为它是一个集前端自动化、模块化、组件化于一体的可拓展系统,你可以根据自己的需要来进行一系列的配置和安…

如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码

如何用gpt来分析链接里面的内容,方法如下 这里使用gpt4里面有一个网路的功能 点击搜索框下面这个地球的形状即可启动搜索网页模式 然后即可提出问题在搜索框里:发现正确识别和分析了链接里面的内容 链接如下:https://arxiv.org/pdf/2009.1…

Docker Search失败,但是Pull成功的解决方法(环境:腾讯云服务器CentOS7系统安装Docker)

Docker Search失败,但是Pull成功的解决方法(环境:腾讯云服务器CentOS7系统安装Docker) 背景解决思路 背景 在安装完成Docker后,成功启动Docker(Systemctl start Docker),使用搜索镜像命令(Dock…

Obfuscator使用心得

最近在用obfuscator来混淆unity项目。但凡是涉及到反射的都不要混淆。反射需要使用到类名或者方法名,你混淆后,名字就不是原来的了。寄。还有序列化的数据也不要混淆。比如我的关卡数据序列化后保存到本地,在反序列化的时候找不到对应的字段名…

负载均衡式在线OJ

文章目录 项目介绍所用技术与开发环境所用技术开发环境 项目框架compiler_server模块compiler编译功能comm/util.hpp 编译时的临时文件comm/log.hpp 日志comm/util.hpp 时间戳comm/util.hpp 检查文件是否存在compile_server/compiler.hpp 编译功能总体编写 runner运行功能资源设…

云原生系列之docker的容器管理实战

前言 之前我们已经探讨过了docker的镜像,看了下时间,距离上次介绍容器的镜像已经过去两个月了, 如果你已经忘记了,可以直奔专栏:容器管理 从今天开始,我们要探讨docker 的容器了,docker的容器都是从镜像开始创建的,涉及到的操作有: 创建容器,停止容器,进入容器,删…

解决VMware的ubuntu22虚拟机没有网络

解决步骤 1.在 Windows 系统中,按 “WinR” 键,输入 “services.msc” 并回车,在服务列表中找到 “VMware DHCP Service” 和 “VMware NAT Service”,确保这两个服务已启动,若未启动则右键点击选择 “启动”&#xf…

NiChart 多模态神经影像(structural MRI,functional MRI,and diffusion MRI)处理和分析工具包安装

NiChart多模态神经影像部署 NiChart 本地安装Git clone 问题personal access token PAT 问题 NiChart 云端注册AWS验证问题 NiChart 是UPenn大学,Christos Davatzikos教授开发的一个多模态MRI影像,structural (sMRI), diffusion (dMRI), and …

xinput1_3.dll放在哪里?当xinput1_3.dll丢失时的应对策略:详细解决方法汇总

在计算机系统的运行过程中,我们偶尔会遇到一些令人困扰的问题,其中xinput1_3.dll文件丢失就是较为常见的一种情况。这个看似不起眼的动态链接库文件,实则在许多软件和游戏的正常运行中发挥着至关重要的作用。一旦它丢失,可能会导致…

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么? CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台,包括VSCode、IDER、Chrome插件、Web和APP等,支持插件安装,尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…

智慧农业物联网传感器:开启农业新时代

在当今科技飞速发展的时代,农业领域正经历着一场前所未有的变革,而智慧农业物联网传感器无疑是这场变革中的关键利器。它宛如农业的 “智慧大脑”,悄然渗透到农业生产的各个环节,为传统农业注入了全新的活力,让农业生产…

Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集AI-FGTM介绍算法流程初始化迭代更新( t 0 t 0 t0 到 T − 1 T - 1 T−1)迭代完成 AI-FGTM代码实现AI-FGTM算法实现攻击效果 代码汇总aifgtm.pytrain.pyadvtest.py 之前已经…

benchmarksql5.0 测试工具如何在达梦上能够跑起来?

(1)添加驱动程序文件: lib文件夹下创建一个dm文件夹,并在dm文件夹下放置达梦数据库的驱动程序:DmJdbcDriver8.jar (2)引用驱动程序文件所在目录: 在文件benchmarksql-5.0/run/funcs.sh中的function setCP()函数中; 也就是在文件…

【AI系列】从零开始学习大模型GPT (1)- Build a Large Language Model (From Scratch)

Build a Large Language Model 背景文章第1章:理解大型语言模型什么是LLMs?什么是Transformer?什么是BERT和GPT?GPT的架构设计构建GPT有哪些步骤? 第2章:处理文本数据第3章:编码Attention机制第4章:从零实…

IntelliJ IDEA 中 Editor > General > Appearance 设置:编辑器的视觉外观和行为

Editor > General > Appearance 设置介绍及示例 Show line numbers 在编辑器左侧显示行号。 示例: 1 public class Example { 2 public static void main(String[] args) { 3 System.out.println("Hello, World!"); 4 } 5 }Sh…