pytorch中torch.stack()的功能

本文介绍了PyTorch中torch.stack()函数的功能,该函数用于将一系列Tensor沿着指定的dim维度串联,所有Tensor需有相同大小。通过举例说明了在不同维度上的串联效果,帮助理解如何增加新维度进行堆叠。特别指出,当dim=-1时,表示在倒数第一个维度上串联,使用3个Tensor时,新维度大小与原张量行的size相同,这可能引起混淆。

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

首先看一下官方文档对torch.stack()函数功能的描述:

       

 将一系列tensor沿着dim维度方向串联起来,所有的tensor必须具备相同的大小,其中维度的大小必须是在0到需要被串联的tensor的维度大小之间,如被串联的tensor是一个二维平面,则dim不能大于2。

简单来说:就是把多个2维张量串联成3维张量,把多个3维张量串联为4维张量,以此类推就是在增加新的维度进行堆叠。

举个例子:

将3个2维张量进行torch.stack()操作。首先准备3个2维的3行4列数据如下图:

  

数据形状如下:

 

a,b 在0维上串联后得到的新tensor大小为(2,3,4);

a,b 在1维上串联后得到的新tensor大小为(3,2,4)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值