机器学习张量运算——广播机制

概念介绍(基础)

 

练习*

用其他形状(例如三维张量)替换广播机制中按元素操作的两个张量。结果是否与预期相同?

a = torch.arange(20).reshape((5,1,4))
b = torch.arange(48).reshape((6,2,4))
(a+b).shape
RuntimeError: The size of tensor a (5) must match the size of tensor b (6) at non-singleton dimension 0
a = torch.arange(30).reshape((2,3,1,5))
b = torch.arange(60).reshape((3,4,5))
(a+b).shape
torch.Size([2, 3, 4, 5])

广播机制条件:

1)每个张量至少为1维

2)从后往前比张量形状,维度大小要么相等,要么其中一个等于1,要么其中一个不存在

 

总结*

广播机制规则:

  • 如果遵守以下规则,则两个tensor是“可广播的”:
    • 每个tensor至少有一个维度;
    • 遍历tensor所有维度时,从末尾随开始遍历,两个tensor存在下列情况:
      • tensor维度相等。
      • tensor维度不等且其中一个维度为1。
      • tensor维度不等且其中一个维度不存在。
  • 如果两个tensor是“可广播的”,则计算过程遵循下列规则:
    • 如果两个tensor的维度不同,则在维度较小的tensor的前面增加维度,使它们维度相等。
    • 对于每个维度,计算结果的维度值取两个tensor中较大的那个值。
    • 两个tensor扩展维度的过程是将数值进行复制
posted @   Yohoc  阅读(299)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2022-10-22 1024 科学计数法
点击右上角即可分享
微信分享提示