Numpy/Pytorch中函数参数dim/axis到底怎么用?

numpy或pytorch中很多函数可指定参数dim或axis。例如sum函数,dim=0或dim=1是对矩阵列/行进行求和,时间久了,就搞混了,

如果是高维array/tensor,这两个参数简直就是噩梦,给人的感觉就是一个字:乱

那到底如何方便合理的记住这两个参数的使用规则呢?

这篇文章总结出了非常惊艳的规则,即,

只有dim指定的维度是可变的,其他都是固定不变的。

函数对  dim指定的维度变化时,所遍历的所有元素  进行操作

例如:

M = [[1,2,3],[4,5,6]]

np.sum(M,0),即变化0维下标,遍历元素,并将所有元素求和

M是二维矩阵,下标为i(行)j(列),dim=0表示i变化,j保持不变,此时遍历的是第j列所有元素,即对列进行求和。答案就是[5,7,9]。

蹬蹬噔噔蹬~~~666

 

 

PyTorch,可以使用`torch.cat()`函数来实现张量的拼接操作,对应于Numpy的`np.concatenate()`函数。`torch.cat()`函数有两个参数,第一个参数是要拼接的张量序列,第二个参数是指定拼接的维度。默认情况下,`torch.cat()`函数会在0维度上进行拼接,即按行拼接。 下面是一个示例代码,展示了如何使用`torch.cat()`函数进行拼接操作: ```python import torch # 创建两个张量 x1 = torch.tensor([[1, 2, 3], [4, 5, 6]]) x2 = torch.tensor([[7, 8, 9], [10, 11, 12]]) # 在0维度上拼接两个张量 result = torch.cat((x1, x2), dim=0) print(result) ``` 这段代码,我们创建了两个张量`x1`和`x2`,然后使用`torch.cat()`函数在0维度上将它们拼接起来,得到一个新的张量`result`。运行这段代码会输出以下结果: ``` tensor([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]]) ``` 这个结果是将`x1`和`x2`按行拼接起来的结果。 可以根据需要在不同的维度上进行拼接操作,只需将`dim`参数设置为对应的维度即可。 是关于`concatenate`函数的说明,它是一个用于拼接多个数组的函数,参数的`arrays`表示要拼接的数组序列,`axis`表示拼接的维度。 是关于`torch.sum()`函数的说明,它用于对输入张量的指定维度进行求和操作,并返回一个新的张量。 是一些关于PyTorch拼接操作的参考链接,可以详细了解如何使用`torch.cat()`函数进行拼接。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值