ternsor合并与分割

拼接: 拆分:
Cat、Stack Split、Chunk

1、cat(concat)

统计班级学生成绩:
[class1-4, students, scores]
[class5-9, students, scores]

将这九名学生的成绩进行合并

a = torch.rand(4, 32, 8)
b = torch.rand(5, 32, 8)

torch.cat([a, b], dim=0).shape
# dim=0,在第一个维度上进行合并

在这里插入图片描述

在这里插入图片描述

a1 = torch.rand(4, 3, 32, 32)
a2 = torch.rand(5, 3, 32, 32)
torch.cat([a1, a2],dim=0).shape

a3 = torch.rand(4, 1, 32, 32)
torch.cat([a1, a3],dim=1).shape

在这里插入图片描述

2、stack

与concat相比,stack不同的是会创造一个新的维度

a1 = torch.rand(4, 3, 16, 32)
a2 = torch.rand(4, 3, 16, 32)

torch.cat([a1,a2],dim=2).shape
torch.stack([a1,a2],dim=2).shape

a = torch.rand(32, 8)
b = torch.rand(32, 8)

torch.stack([a,b],dim=0).shape

在这里插入图片描述

3、split

可以根据长度和数量进行拆分

a=torch.rand(32,8)
b=torch.rand(32,8)
c=torch.stack([a,b],dim=0)

在这里插入图片描述

①根据长度拆分

aa, bb = c.split(1, dim=0)

在这里插入图片描述

②根据数量拆分

c=torch.stack([a,b,b],dim=0)
aa, bb = c.split([2,1],dim=0)

在这里插入图片描述

4、chunk

根据数量拆分

c=torch.stack([a,b],dim=0)

aa, bb = c.chunk(2,dim=0)

在这里插入图片描述文章来源地址https://uudwc.com/A/gVR60

原文地址:https://blog.csdn.net/qq_52015311/article/details/133299651

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年09月26日 16:05
电脑C盘爆红怎么办?(小白篇)
下一篇 2023年09月26日 16:05