Tensor中dim与Numpy中axis的比较

本文详细对比了Numpy数组中的axis指令与PyTorch张量的dim指令在计算过程中的差异。在Numpy中,axis指定的维度被保留,而在PyTorch中,dim指定的维度被消除。通过举例和Softmax函数的应用,解释了这两个指令如何影响行向量和列向量的生成,帮助读者更好地理解和区分这两种操作。

目录

前言

 Numpy array的axis指令

Tensor 的dim指令

总结


前言

        在实际应用中,我发现python中import Numpy后在Numpy array计算中axis指令与pytorch框架下import torch / torch.nn后Tensor计算中dim指令难以区分,原以为二者大差不差,其实也有较大的差别。经过查阅相关资料,大部分文章一是概念讲述苦涩难懂,无法用简洁的语言使其明了,二是分析片面,综合性差,不能举一反三,触内旁通,综上,本文将从两个方面提供更加全面准确的讲解。

 Numpy array的axis指令

导入numpy后利用sum进行分析:

import numpy as np

a = np.array([[1,2,3],[2,2,2]])
n_1 = np.sum(a, axis=0)
n_2 = np.sum(a, axis=1)

print('dim=0的结果是:\n',n_1,"\n")
print('dim=1的结果是:\n',n_2,"\n")
dim=0的结果是:
[3 4 5]

dim=1的结果是:
[6 6]

         可见dim = 0时可以理解为仅保存dim = 0对应的维度(即行),故最终结果为行向量,而当dim = 1时理解为仅保存dim = 1对应的维度(即列),故最终结果为列向量。

Tensor 的dim指令

1. 导入torch.nn中的Softmax进行分析:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值