# broadcast自动扩张
"""
从最后一个维度开始,扩张为同一个类型,被扩张前的维度必须为1
"""
# 拼接和拆分
# 1、cat
import torch
a = torch.rand(4,32,8)
b = torch.rand(5,32,8)
print(torch.cat([a,b],dim = 0).shape) # torch.Size([9, 32, 8]),在0维度合并,dim=0
# 注意:再某一个维度上合并,确保其他维度一致
# 2、stack-在前面插入,创建新的维度
a = torch.rand(32,8)
b = torch.rand(32,8)
print(torch.stack([a,b],dim = 0).shape) # torch.Size([2, 32, 8])
# 3、split-根据长度拆分
b = torch.rand(32,8)
c = torch.stack([a,b],dim = 0)
print(c.shape) # torch.Size([2, 32, 8])
# aa,bb = c.split([1,1],dim = 0)
# print(aa.shape,bb.shape) # torch.Size([1, 32, 8]) torch.Size([1, 32, 8])
aa,bb = c.split(1,dim = 0)
张量高阶操作
最新推荐文章于 2022-09-05 15:52:22 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)