pytorch中torch.stack()函数总结

本文总结了PyTorch中torch.stack()函数的基本功能和规律分析。该函数用于在特定维度上连接多个张量,创建一个扩维的张量。详细介绍了当dim分别为0、1、2时的连接效果,并提出了对于n维张量按dim=x连接的递归规律猜想。
摘要由CSDN通过智能技术生成

一、基本功能

pytroch官方文档对于这个函数的描述很简略。只有一句话:在维度上连接(concatenate)若干个张量。(这些张量形状相同)

经过代码总结归纳,可以得到stack(tensors,dim=0,out=None)函数的功能:
将若干个张量在dim维度上连接,生成一个扩维的张量,比如说原来你有若干个2维张量,连接可以得到一个3维的张量。

设待连接张量维度为n,dim取值范围为-n-1~n,这里得提一下为负的意义:-i为倒数第i个维度。举个例子,对于2维的待连接张量,-1维即3维,-2维即2维。

上代码:

a=torch.tensor([[1,2,3],[4,5,6]])
b=torch.tensor([[10,20,30],[40,50,60]])
c=torch.tensor([[100,200,300],[400,500,600]])
print(torch.stack([a,b,c],dim=0))
print(torch.stack([a,b,c],dim=1))
print(torch.stack([a,b,c],dim=2))
print(torch.stack([a,b,c],dim=0).size())
print(torch.stack([a,b,c],dim=1).size())
print(torch.stack([a,b,c],dim=2).size())
#输出结果为:
tensor([[[  1,   2,   3],
         [  4,   5,   6]],

        [[ 10,  20,  30],
    
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值