Pytorch基础 - 5. torch.cat() 和 torch.stack()

本文介绍了Pytorch中的torch.cat()和torch.stack()两个函数,用于张量拼接。torch.cat()允许在指定维度拼接张量,不同张量在非拼接维度的size需一致;而torch.stack()会在指定维度增加新维度,并拼接张量,所有张量的维度需完全一致。
摘要由CSDN通过智能技术生成

目录

1. torch.cat(tensors, dim)

2. torch.stack(tensors, dim)

3. 两者不同


torch.cat() 和 torch.stack()常用来进行张量的拼接,在神经网络里经常用到。且前段时间有一个面试官也问到了这个知识点,虽然内容很小很细,但需要了解。

1. torch.cat(tensors, dim)

  • tensors:待拼接的多个张量,可用list, tuple表示
  • dim:待拼接的维度,默认是0
  • 注意:tensors里不同张量对应的待拼接维度的size可以不一致,但是其他维度的size要保持一致。如代码中待拼接维度是0,x和y对应的维度0上的值不一样,但是其他维度上的值(维度1上的值)要保持一致,即都为4,否则会报错。

示例:新生成的tensor在dim=0这个维度进行了拼接,即 3 + 2 = 5,剩余维度保持不变

x = torch.rand(3, 4)
y = torch.rand(2, 4)
xy = torch.cat([x, y], dim=0)   
print(xy.shape)   # torch.Size([5, 4])

2. torch.stack(tensors, dim)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值