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

21、Transformer Masked loss原理精讲及其PyTorch逐行实现

1. Transformer结构图

在这里插入图片描述

2. python

import torch
import torch.nn as nn
import torch.nn.functional as Ftorch.set_printoptions(precision=3, sci_mode=False)if __name__ == "__main__":run_code = 0batch_size = 2seq_length = 3vocab_size = 4logits = torch.randn(batch_size,seq_length,vocab_size)print(f"logits=\n{logits}")logits_t = logits.transpose(-1,-2)print(f"logits_t=\n{logits_t}")label = torch.randint(0,vocab_size,(batch_size,seq_length))print(f"label=\n{label}")result_none = F.cross_entropy(logits_t,label,reduction="none")print(f"result_none=\n{result_none}")result_none_mean = torch.mean(result_none)result_mean = F.cross_entropy(logits_t,label)print(f"result_mean=\n{result_mean}")print(f"result_none_mean={result_none_mean}")
logits=
tensor([[[ 0.477,  2.017,  1.016, -0.299],[-0.189,  0.321, -0.885,  1.418],[ 0.027, -0.606,  0.079, -0.491]],[[ 1.911,  1.643, -0.327,  0.185],[-0.031, -1.463, -0.073,  1.391],[-0.710,  0.811,  1.521,  0.033]]])
logits_t=
tensor([[[ 0.477, -0.189,  0.027],[ 2.017,  0.321, -0.606],[ 1.016, -0.885,  0.079],[-0.299,  1.418, -0.491]],[[ 1.911, -0.031, -0.710],[ 1.643, -1.463,  0.811],[-0.327, -0.073,  1.521],[ 0.185,  1.391,  0.033]]])
label=
tensor([[0, 0, 0],[3, 0, 0]])
result_none=
tensor([[2.059, 2.098, 1.157],[2.444, 1.848, 2.832]])
result_mean=
2.0730881690979004
result_none_mean=2.0730881690979004

相关文章:

21、Transformer Masked loss原理精讲及其PyTorch逐行实现

1. Transformer结构图 2. python import torch import torch.nn as nn import torch.nn.functional as Ftorch.set_printoptions(precision3, sci_modeFalse)if __name__ "__main__":run_code 0batch_size 2seq_length 3vocab_size 4logits torch.randn(batch…...

构建高性能网络服务:从 Socket 原理到 Netty 应用实践

1. 引言 在 Java 网络编程中,Socket 是实现网络通信的基础(可以查看我的上一篇博客)。它封装了 TCP/IP 协议栈,提供了底层通信的核心能力。而 Netty 是在 Socket 和 NIO 的基础上,进一步封装的高性能、异步事件驱动的…...

Spring Boot教程之五十六:用 Apache Kafka 消费 JSON 消息

Spring Boot | 如何使用 Apache Kafka 消费 JSON 消息 Apache Kafka 是一个流处理系统,可让您在进程、应用程序和服务器之间发送消息。在本文中,我们将了解如何使用 Apache Kafka 在 Spring Boot 应用程序的控制台上发布 JSON 消息。 为了了解如何创建 …...

Elasticsearch ES|QL 地理空间索引加入纽约犯罪地图

可以根据地理空间数据连接两个索引。在本教程中,我将向你展示如何通过混合邻里多边形和 GPS 犯罪事件坐标来创建纽约市的犯罪地图。 安装 如果你还没有安装好自己的 Elasticsearch 及 Kibana 的话,请参考如下的链接来进行安装。 如何在 Linux&#xff0…...

csp-j知识点:联合(Union)的基本概念

一、联合(Union)的基本概念 联合是C/C语言中一种特殊的数据结构,它的主要特点是所有成员共享同一块内存空间。这意味着在任何给定时刻,联合中只有一个成员是有效的,因为它们都占用相同的物理内存位置。联合的大小取决…...

docker-compose 方式安装部署confluence

一、confluence简介 Confluence是一款由澳大利亚软件公司Atlassian开发的企业协作工具。它是一个基于web的团队协作平台,用于帮助团队成员共享和协同工作的知识、文档、想法和项目。 Confluence提供了一个集中管理和共享文档、知识库和项目信息的平台。团队成员可…...

深入理解计算机系统阅读笔记-第十二章

第12章 网络编程 12.1 客户端-服务器编程模型 每个网络应用都是基于客户端-服务器模型的。根据这个模型,一个应用时由一个服务器进程和一个或者多个客户端进程组成。服务器管理某种资源,并且通过操作这种资源来为它的客户端提供某种服务。例如&#xf…...

网络原理(九):数据链路层 - 以太网协议 应用层 - DNS 协议

目录 1. 数据链路层 1.1 以太网协议 1.1.1 以太网帧格式 1.2 mac 地址 1.2.1 IP 地址和 mac 地址的区别 1.3 帧中的类型字段 1.3.1 MTU - 最长载荷长度 1.3.2 ARP 协议 2. DNS 协议 1. 数据链路层 数据链路层, 是一个底层的层次, 主要用于交换机开发, 对于 Java 开发…...

rtthread学习笔记系列(4/5/6/7/15/16)

文章目录 4. 杂项4.1 检查是否否是2的幂 5. 预编译命令void类型和rt_noreturn类型的区别 6.map文件分析7.汇编.s文件7.1 汇编指令7.1.1 BX7.1.2 LR链接寄存器7.1.4 []的作用7.1.4 简单的指令 7.2 MSR7.3 PRIMASK寄存器7.4.中断启用禁用7.3 HardFault_Handler 15 ARM指针寄存器1…...

【拒绝算法PUA】3065. 超过阈值的最少操作数 I

系列文章目录 【拒绝算法PUA】0x00-位运算 【拒绝算法PUA】0x01- 区间比较技巧 【拒绝算法PUA】0x02- 区间合并技巧 【拒绝算法PUA】0x03 - LeetCode 排序类型刷题 【拒绝算法PUA】LeetCode每日一题系列刷题汇总-2025年持续刷新中 C刷题技巧总结: [温习C/C]0x04 刷…...

今日总结 2025-01-14

学习目标 掌握运用 VSCode 开发 uni - app 的配置流程。学会将配置完善的项目作为模板上传至 Git,实现复用。项目启动 创建项目:借助 Vue - Cli 方式创建项目,推荐从国内地址 https://gitee.com/dcloud/uni - preset - vue/repository/archiv…...

关于扫描模型 拓扑 和 传递贴图工作流笔记

关于MAYA拓扑和传递贴图的操作笔记 一、拓扑低模: 1、拓扑工作区位置: 1、准备出 目标 高模。 (高模的状态如上 ↑ )。 2、打开顶点吸附,和建模工具区,选择四边形绘制. 2、拓扑快捷键使…...

C#知识|泛型Generic概念与方法

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 关于泛型在前面学习记录过 《泛型集合List相关方法》、《Dictionary泛型集合的使用总结》&#xff1b; 其中泛型集合 List<T>、Dictionary<k,v>所在的命名空间为&#xff1a;System.Collection.Generic…...

centos 8 中安装Docker

注&#xff1a;本次样式安装使用的是centos8 操作系统。 1、镜像下载 具体的镜像下载地址各位可以去官网下载&#xff0c;选择适合你们的下载即可&#xff01; 1、CentOS官方下载地址&#xff1a;https://vault.centos.org/ 2、阿里云开源镜像站下载&#xff1a;centos安装包…...

vscode vue 自动格式化

vscode vue 自动格式化 安装Prettier和Vetur插件 选择设置&#xff0c;并且转到编辑文件。增加如下内容。 {"editor.formatOnSave": true,"editor.defaultFormatter": "esbenp.prettier-vscode","[vue]": {"editor.defaultFor…...

Webpack 5 混淆插件terser-webpack-plugin生命周期作用时机和使用注意事项

参考案例代码 海南酷森科技有限公司/webpack-simple-demo Terser&#xff08;简要的/简短的&#xff09; 混淆依据 混淆是发生在代码已经 bundle 之后的事情 变量或者函数在被引用或赋值时才能被混淆 孤立的函数或者变量可能会被移除&#xff0c;但不会被混淆&#xff0c;要…...

MQTT(Message Queuing Telemetry Transport)协议

文章目录 一、MQTT 的原理1. 通信模型2. 核心概念3. 工作流程 二、MQTT 的优势1. 轻量级2. 异步通信3. 可靠性4. 实时性5. 支持断线重连6. 跨平台支持7. 安全性 三、MQTT 的典型应用场景四、与其他协议的对比 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;…...

【MySQL学习笔记】MySQL存储过程

存储过程 1、基础语法2、变量2.1 系统变量2.2 用户自定义变量2.3 局部变量 3、if 流程控制4、参数5、case 流程控制6、循环结构6.1 while 循环6.2 repeat 循环6.3 loop 循环 7、游标 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合&#xff0c;调用存储过程可以…...

Vue2+OpenLayers实现折线绘制、起始点标记和轨迹打点的完整功能(提供Gitee源码)

目录 一、案例截图 二、安装OpenLayers库 三、代码实现 3.1、HTML页面 3.2、初始化变量 3.3、创建起始点位 3.4、遍历轨迹点 3.5、画折线 3.6、初始化弹窗信息 3.7、初始化地图上标点的点击事件 3.8、完整代码 四、Gitee源码 一、案例截图 二、安装OpenLayers库 n…...

基于Spring Boot的城市垃圾分类管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

CasRel模型部署教程:使用Triton推理服务器实现高并发SPO服务

CasRel模型部署教程&#xff1a;使用Triton推理服务器实现高并发SPO服务 1. 认识CasRel关系抽取模型 CasRel&#xff08;Cascade Binary Tagging Framework&#xff09;是一个专门从文本中提取结构化信息的强大模型。想象一下&#xff0c;你有一大段文字&#xff0c;里面包含…...

ASTM D4169针刺棉手袋的产品有效期验证方案

针刺棉手袋的产品有效期验证&#xff0c;核心是确定产品在正常使用条件下的使用寿命&#xff08;通常以使用次数或年限表示&#xff09;&#xff0c;而不仅仅是物理保质期。 结合你之前关注医疗器械运输验证的背景&#xff0c;这里需强调&#xff1a;针刺棉手袋的“有效期”验…...

宝塔面板PHP8.0如何快速安装Redis缓存扩展_在PHP设置的安装扩展模块中一键配置

宝塔面板PHP 8.0下无法一键安装Redis扩展&#xff0c;因官方源无适配预编译包且构建脚本不兼容ZTS/NTS、phpize路径及头文件要求&#xff1b;须用pecl手动编译redis-5.3.7并正确配置php.ini。宝塔面板 PHP 8.0 下无法通过「安装扩展」一键启用 Redis&#xff0c;是因为官方源里…...

车灯设计师必看:CATIA中FreeStyle模块的10个高效技巧

车灯设计师必看&#xff1a;CATIA中FreeStyle模块的10个高效技巧 在汽车照明系统的设计中&#xff0c;曲面造型的精度与美感直接决定了最终产品的市场竞争力。作为行业标准工具&#xff0c;CATIA的FreeStyle模块为车灯设计师提供了强大的自由曲面创建能力&#xff0c;但真正掌握…...

别再只调参了!用决策树可视化你的Fashion MNIST分类过程,看看模型到底在‘看’哪里

决策树可视化&#xff1a;用Fashion MNIST解码模型注意力机制 1. 当深度学习遇到可解释性困境 在图像分类任务中&#xff0c;我们常常陷入一个矛盾&#xff1a;CNN等复杂模型虽然准确率高&#xff0c;但其决策过程如同黑箱。当模型表现不佳时&#xff0c;我们往往只能盲目调整超…...

3ds Max模型优化指南:用Attach命令合并物体时如何避免顶点爆炸(2024版)

3ds Max模型优化指南&#xff1a;用Attach命令合并物体时如何避免顶点爆炸&#xff08;2024版&#xff09; 在影视和游戏制作流程中&#xff0c;模型拓扑的整洁度直接影响后续的UV展开、动画绑定和实时渲染效率。作为3ds Max用户最常用的建模命令之一&#xff0c;Attach看似简单…...

PostgreSQL 判断大导入是否正在执行 pg_stat_activity

PostgreSQL 判断大导入还在跑吗&#xff1f;pg_stat_activity 完整笔记&#xff08;ERP Staging 场景&#xff09; 摘要 大批量 ERP 资源导入&#xff08;Excel → erp_resource_import_staging → 合并正式表&#xff09;时&#xff0c;Java 应用常因单条大 SQL 长时间无日志&…...

2026届毕业生推荐的六大降重复率网站实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 要降低文本被认定为是由人工智能生成内容即AIGC的可能性&#xff0c;就得从语言所具备的特征…...

首批入驻!深圳开源远航正式入驻前海“数智空间”!大湾区人工智能出海联盟揭牌成立!

4月2日&#xff0c;深圳开源远航科技有限公司&#xff08;CSDN全资子公司&#xff09;开业暨大湾区人工智能出海联盟揭牌仪式在深圳前海卓越金融中心举行。开源远航作为首批企业&#xff0c;正式入驻前海科创集团旗下的前海“数智空间”。首批企业入驻依托“数智空间”共建AI软…...

南京大学等联合发布开源语音大模型VITA-Qinyu,首发支持角色扮演+哼唱

在 AI 语音交互的赛道上&#xff0c;南京大学联合腾讯音乐研发的 VITA-Qinyu 正式亮相。这是业内首款兼具自然对话、高表现力角色扮演与歌唱能力的开源端到端语音语言模型&#xff08;SLM&#xff09;&#xff0c;一举打破了传统语音模型仅聚焦对话准确性、缺乏情感与场景表现力…...