【科研-学习-pytorch】5-boardcasting、合并分割

boardcasting(自动推广)

  1. 首维插入1
  2. 将维度为1扩展为相同维度
  3. 特征尺寸匹配
  4. 扩展为相同尺寸后相加
    boardcasting可理解为:unsqueeze + expand调整维度一致
    在这里插入图片描述

boardcasting是由需求而来,对于不同尺寸的计算,需要手动多次处理设置尺寸一致,使用boardcasting可以自动匹配尺寸且不需要额外占用内存,准确方便且高效;

boardcasting使用范围

  1. 从最后一维开始匹配;
  2. 若高维没有则先扩展1维,后匹配一致;
  3. 低维需要可理解使用,如维度一致或者只有1;
  4. 无法使用情况-input [4, 3, 32, 32]
  • [2, 3, 32, 32]
  • [8]
  • [1, 2, 32, 32]

应用

input [4, 3, 32, 32]

  • [32, 32] h,w方向整体平移
  • [3, 1, 1] rgb通道调整
  • [1, 1, 1, 1] 所有像素加

合并

cat

cat前提是:两特征维度一致,要拼接维度可以不一致;

stack

创造新的维度,叠加;
a = torch.rand(3, 24)
b = torch.rand(3, 24)
c = torch.stack(a, b, dim=0)
c.shape = [2, 3, 24]
拼接维度必须一致,才能创建新维度拼接;

分割

split

split([2, 2], dim=0) 和 split(1, dim=0)分别拆分对应维度的长度拆分;
长度拆分和数量拆分;

chunck

按数量拆分,chunk按数值均匀拆分!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值