当前位置: 首页 > 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;…...

TEST文件夹:Pytest,集成测试,单元测试

在复杂的自动驾驶项目中&#xff0c;哪怕你只改了一行代码&#xff0c;都可能导致整个感知或控制系统崩溃。如果直接去训练&#xff0c;还会消耗大量算力。所以当你新写了一个功能&#xff08;比如你改了采样逻辑&#xff09;&#xff0c;先不要急着去跑训练。先跑一下测试&…...

OpenClaw健康助手:Qwen3-32B分析智能穿戴数据生成周报

OpenClaw健康助手&#xff1a;Qwen3-32B分析智能穿戴数据生成周报 1. 为什么需要本地化健康数据分析 去年我开始使用智能手环监测睡眠和运动数据&#xff0c;但很快发现一个问题&#xff1a;所有数据都要上传到厂商云端才能生成报告。作为医疗行业从业者&#xff0c;我深知健…...

Unity Package Manager从入门到精通:除了导入Asset Store,你还能这样玩转自定义插件

Unity Package Manager高级指南&#xff1a;解锁自定义插件开发的工程化实践 在Unity开发社区中&#xff0c;Package Manager常被简化为一个"资源商店下载工具"&#xff0c;这大大低估了它的真正价值。实际上&#xff0c;UPM&#xff08;Unity Package Manager&#…...

Arduino嵌入式工具库解析:按键消抖、字符串格式化与I²C通信

1. 项目概述utils_asukiaaa是一个面向 Arduino 平台的轻量级工具函数库&#xff0c;聚焦于三类高频嵌入式开发场景&#xff1a;机械按键消抖与状态机管理、字符串格式化处理、IC 总线设备通信封装。该库采用 C 命名空间组织&#xff08;utils_asukiaaa::button/utils_asukiaaa:…...

C++的std--ranges中的策略内联编译器

C的std::ranges中的策略内联编译器&#xff1a;高效编程的新利器 在现代C编程中&#xff0c;std::ranges库的引入为算法和范围操作带来了革命性的改进。其中&#xff0c;策略内联编译器作为其核心优化手段之一&#xff0c;能够显著提升代码执行效率。本文将深入探讨这一技术的…...

RoBERTa 微调:防过拟合终极调参手册

&#x1f6e1;️ RoBERTa 微调&#xff1a;防过拟合终极调参手册核心逻辑&#xff1a;在数据量有限&#xff08;~2.6k&#xff09;的情况下&#xff0c;通过限制模型容量&#xff08;冻结/Dropout&#xff09;和平滑优化过程&#xff08;Weight Decay/Label Smoothing&#xff…...

[Android] 故宫陶瓷馆 v2.2.251126

[Android] 故宫陶瓷馆 v2.2.251126 链接&#xff1a;https://pan.xunlei.com/s/VOpHzrBozQgvaUJbdCkB20SMA1?pwdu338# 故宫陶瓷馆是故宫博物院官方出品的APP&#xff0c;以“时间轴”为核心骨架、全新技术手段打造的陶瓷馆&#xff0c;为你将展品带至手中、带至眼前。...

Go语言的HTTP服务器:从基础到高级

Go语言的HTTP服务器&#xff1a;从基础到高级 HTTP 服务器的重要性 在现代 Web 开发中&#xff0c;HTTP 服务器是构建 Web 应用程序的核心组件。一个高性能、可靠的 HTTP 服务器可以&#xff1a; 处理客户端请求&#xff0c;返回响应支持各种 HTTP 方法和状态码提供路由和中…...

三态模型:**就绪**(已获除CPU外所有资源,等待调度)、**运行**(正在CPU执行)、**阻塞**(等待某事件如I/O完成,主动放弃CPU)

&#x1f539; 进程与线程 进程是资源分配的基本单位&#xff0c;拥有独立地址空间&#xff1b;线程是CPU调度的基本单位&#xff0c;同一进程内线程共享代码段、数据段和打开文件等资源&#xff0c;但有独立栈和寄存器上下文。线程切换开销远小于进程切换&#xff08;无需TLB刷…...

降AI率低至2%:SpeedAI科研小助手,论文过审省心利器

很多同学都在找能稳定过AIGC检测的工具&#xff0c;其实从 99.8% 到 14.9%&#xff1a;Paperxie AI 降重&#xff0c;破解论文 AIGC 检测的终极方案-CSDN博客这类分享里提到的核心需求&#xff0c;SpeedAI科研小助手都能更好地满足。一、写在前面&#xff1a;被AIGC检测支配的论…...