【pytorch08】拼接与拆分

1.拼接与拆分

  • Cat
  • Stack
  • Split
  • Chunk

2.Cat

有两张成绩单
[class1-4,students,scores]
[class5-9,students,scores]’
要把这两个成绩单合并在一起

在这里插入图片描述

如何理解该行为
在这里插入图片描述

注意:班级情况中 A的tensor是[4,32,8],B的tensor是[5,32,8]如果我们是在0维上进行拼接,要确保每个班级的学生数量和每个学生的成绩数量一致

在这里插入图片描述

3.stack

可以完成某种意义上的拼接,但是与cat不一致的是会产生一个新的维度

在这里插入图片描述
插入了一个新的维度

适合什么情况?
统计了某个班级的成绩单,共有32个人,8门课的成绩,该tensor为A[32,8],另一个老师统计了另一个班级,共有32个人8门课的成绩,该tensor为B[32,8],因此如果用cat的话会得到[64,8],即64个人8门课的成绩,明显不符合实际情况,因此不适合cat适合用stack,在学生人数前插入一个新的维度即班级,[2,32,8]符合实际需求

stack 会产生一个新的维度,该维度是什么概念,取决于我们的具体场景

使用stack的tensor维度必须完成一致
在这里插入图片描述

4.split

根据长度拆分
在这里插入图片描述
比如说一共5个班级[5,32,8]前3个班级为重点班级,1个班级为普通班,1个班级为差班,c.split([3,1,1],dim=0)就可以这样拆分

chunk

按数量来拆分
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值