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

python打卡训练营打卡记录day48

知识点回顾:
  1. 随机张量的生成:torch.randn函数
  2. 卷积和池化的计算公式(可以不掌握,会自动计算的)
  3. pytorch的广播机制:加法和乘法的广播机制

ps:numpy运算也有类似的广播机制,基本一致

作业:自己多借助ai举几个例子帮助自己理解即可

广播机制(Broadcasting)在PyTorch中的规则:

广播机制允许在不同形状的张量之间进行运算。它的基本规则是:

1. 从尾部(即维度从后往前)开始对齐,比较两个张量的每一个维度。

2. 两个维度必须相等,或者其中一个为1,或者其中一个不存在(即其中一个张量在该维度上没有大小),才能进行广播。

3. 广播会在缺失的维度(通过unsqueeze)和大小为1的维度上扩展(复制)数据。

例如:

张量A的形状为(3, 1, 5),张量B的形状为(2, 1):

从尾部对齐:

A: (3, 1, 5)

B:      (2,1)

将B的形状与A的尾部对齐:即A的第三维(5)和B的第二维(1)对齐,A的第二维(1)和B的第一维(2)对齐,A的第一维(3)没有对应的,所以B要在前面加一个维度。

所以实际上,我们这样看:

A: 3×1×5

B: 1×2×1 (在B前面加了一个1,变成3维:1×2×1)

然后每个维度比较:

第一维:3和1 -> 1可以扩展成3

第二维:1和2 -> 1可以扩展成2

第三维:5和1 -> 1可以扩展成5

所以最终形状为(3,2,5)

规则:如果两个张量在某个维度上相同,或者其中一个为1,那么它们就是兼容的。如果其中一个张量在某个维度上缺失(即维度数少于另一个),那么就在该张量的形状前面补1,直到两个张量的维度数相同。

然后,在运算时,每个维度的大小会取两个张量在该维度上的最大值(前提是它们兼容)。

下面举几个例子:

例1:

A: (8,1,6,1)

B: (7,1,5)

首先,将B的维度数补齐到4维(在B前面加一个1):(1,7,1,5)

然后,比较每个维度:

dim0: 8和1 -> 8

dim1: 1和7 -> 7

dim2: 6和1 -> 6

dim3: 1和5 -> 5

所以广播后的形状为(8,7,6,5)

例2:

A: (3,1,5)

B: (1,2,1)

广播后形状为(3,2,5)

例3(不兼容):

A: (3,4)

B: (2,)

首先,将B的维度补齐:(1,2) 然后与A(3,4)比较:

第一维:3和1 -> 3

第二维:4和2 -> 4和2不相等,且都不是1,所以不能广播。

但是,如果B是(4,)呢?

A: (3,4)

B: (4,) -> 补齐为(1,4)

然后比较:第一维3和1 -> 3;第二维4和4 -> 4,所以可以广播成(3,4)

注意:在PyTorch中,我们通常使用加法、乘法等操作时会触发广播。

广播机制要点总结

核心价值:避免不必要的内存复制,提升计算效率

触发场景:所有逐元素操作(+, -, *, / 等)

应用场景:

   归一化操作(张量 ± 标量)

   特征图与偏置项相加

   不同维度的张量运算

@浙大疏锦行

相关文章:

  • JS的数据类型分类
  • 自动交换两个文件的文件名 VSB脚本技巧 电脑技巧
  • java面试:JAVA并发篇
  • 《双指针》题集
  • Codeforces Educational 179(ABCDE)
  • 聊聊集群间数据复制和持久化机制
  • 联邦学习与边缘计算结合
  • Ubuntu 上安装 Git LFS
  • 算法打卡17天(补)
  • Docker知识五:服务编排(Docker Compose概念)
  • HTML前端开发:JavaScript的条分支语句if,Switch
  • 矩阵详解:从基础概念到实际应用
  • 对F1分数的基本认识
  • 深入理解 Spring Cache 及其核心注解
  • 电路图识图基础知识-电动机正反转控制电路详解(二十)
  • 关于 ffmpeg设置摄像头报错“Could not set video options” 的解决方法
  • 需求用例的前置条件和后置条件
  • AI 大模型统一集成|Spring AI + DeepSeek 实战接入指南
  • 【优选算法】分治
  • 随机算法一文深度全解
  • 如何建设网站/网站提交收录入口链接
  • 快速做网站用什么软件/bilibili官网网页入口
  • 做网站接口多少钱/东莞做网站哪家公司好
  • 一个公司做网站需要注意什么/seo模拟点击工具
  • 广州建网站有哪些/搭建一个网站需要多少钱
  • 小说网站搭建教程/怎么做关键词优化排名