torch.stack([... , ...],dim=?)的使用

原文:https://blog.csdn.net/m0_38026629/article/details/86519291

原文中有稍许信息不好理解,故更改之,记下来方便查阅。

首先[]list里面的矩阵必须是一样shape的,再设:torch.sack([],dim) 设[]中有矩阵n个,x行,y列

例:torch.stack([a,b,c],dim=0)
torch.stack([a,b,c],dim=-1)

分析:
1)dim=0时,则就是讲[]中的n个矩阵变成n维,按照顺序,第i维是第i个矩阵,size=(n,x,y)

2)dim=1是,将列表[]中的每个矩阵的第一行组成第一维矩阵,故第一维数组的行数为n,列数为y;每个原矩阵共x行,故新ndarray共x维,size=(x,n,y)

3)dim=2稍微复杂一些:

	3.1)每个矩阵的第一行的第一个值,组成第一维的第一行,每一个矩阵的第一行第二个值组成第一维的第二行,
	        以此类推,每一个矩阵的第一行第n个值,组成第一维的第n行。故新ndarray的每一维size为(y,n)--y行n列
	3.2)每个原矩阵共x行,故新ndarray共x维,size=(x,y,n)

4) dim=-1,即直接按照逐个元素的累加方法进行,如[]中均是2维矩阵,则和3)同。

总结:
dim的理解方法:由总体向局部的总分结构:
对于多个二维矩阵:
dim=0,操作单位为一个矩阵
dim=1,操作单位为一个矩阵的一行
dim=2,操作单位为一个矩阵的一个元素

其它:(无论矩阵多少维)
dim=-1,操作单位为一个矩阵的一个元素

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
torch.stack(dim=-1)是一个PyTorch函数,用于将多个张量在指定维度上堆叠在一起。在这个函数中,参数dim=-1表示在最后一个维度上进行堆叠。具体来说,它将多个张量按照指定维度的顺序在最后一个维度上进行拼接。 举个例子,假设有三个张量a、b、c,它们的维度分别为(3,)、(3,)、(3,)。当我们调用torch.stack([a, b, c], dim=-1)时,它会在最后一个维度上将这三个张量堆叠在一起,得到一个新的张量,维度为(3, 3)。具体堆叠的方式是将a、b、c按照最后一个维度的顺序排列。 总结起来,torch.stack(dim=-1)的作用是将多个张量按照最后一个维度进行堆叠。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [torch.stack([... , ...],dim=?)的使用](https://blog.csdn.net/chord_sz/article/details/105049168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [pytorch](https://blog.csdn.net/weixin_41179162/article/details/122809503)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值