矩阵拼接 cat padding_pytorch

博客介绍了Numpy和Torch的张量拼接方法。Numpy中,np.vstack()用于垂直拼接,np.hstack()用于横向拼接;Torch里,torch.cat()可通过dim参数控制水平或竖直拼接,torch.stack()能沿着新维度连接输入张量序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

20201219

两个向量形成一个元素
aa=np.array([1,2])
bb=np.array([2,2])
cc=np.vstack((aa,bb))
dd=np.vstack((aa,bb))

cc=torch.from_numpy(cc)
dd=torch.from_numpy(dd)

cc=cc.view(1,2,2)
dd=dd.view(1,2,2)

ee=torch.cat((cc,dd), 0)
print(ee)

1.拼接
1.1numpy
np.vstack() v 表示vertical 垂直,也就是竖着拼接 和np.hstack() h表示Horizontal 横向
在这里插入图片描述
在这里插入图片描述
1.2torch
torch.cat(),dim=1为水平拼接,dim=0为竖直拼接

>>> x = torch.randn(2, 3)
>>> x
 
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 2x3]
 
>>> torch.cat((x, x, x), 0)
 
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 6x3]
 
>>> torch.cat((x, x, x), 1)
 
 0.5983 -0.0341  2.4918  0.5983 -0.0341  2.4918  0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735  1.5981 -0.5265 -0.8735  1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 2x9]

torch.stack()沿着一个新维度对输入张量序列进行连接。
在这里插入图片描述
c, dim = 0时, c = [ a, b]

d, dim =1 时, d = [ [a[0] , b[0] ] , [a[1], b[1] ] ]

e, dim = 2 时, e = [ [ [ a[0][0], b[0][0] ] , [ a[0][1], b[0][1] ] , [ a[0][2],b[0][2] ] ] ,

                                  [   [ a[1][0], b[1][0] ]  , [ a[1][1], b[0][1] ]  ,  [ a[1][2],b[1][2] ] ]      ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值