目录
前言
在实际应用中,我发现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进行分析:

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

被折叠的 条评论
为什么被折叠?



