pytorch中的逐元素、归并操作、比较以及线性代数

您所在的位置:网站首页 tensor相减 pytorch中的逐元素、归并操作、比较以及线性代数

pytorch中的逐元素、归并操作、比较以及线性代数

2023-07-18 22:13| 来源: 网络整理| 查看: 265

1.逐元素操作

这部分操作会对tensor的每一个元素(element-wise)进行操作,此类操作的输入与输出形状一致。

abs/sqrt/div/exp/fmod/log/pow     绝对值/平方根/除法/指数/求余/求幂cos/sin/asin/atan2/cosh     三角函数ceil/round/floor/trunc        上取整/四舍五入/下取整/只保留整数部分clamp(input,min,max)       超过min和max的部分进行阶段sigmoid/tanh       激活函数

对于很多操作,如div、mul、pow、fmod等,PyTorch都实现了运算符重载,所以可以直接使用运算符。如a**2等价于torch.pow(a,2),等价于torch.mul(a,2)

2.归并操作

此类操作会使输出形状小于输入形状,并可以沿着某一维度进行指定操作。如加法sum,既可以计算整个tensor的和,也可以计算tensor中每一行或每一列的和。

mean/sum/median/mode        均值/和/中位数/众数norm/dist        范数/距离std/var        标准差/方差cumsum/cumprod        累加/累乘

以上大多数函数都有一个参数dim,用来指定这些操作是在哪个维度上执行的。

假设输入的形状是(m,n,k):

如果指定dim=0,输出的形状就是(1,n,k)或者(n,k);如果指定dim=1,输出的形状就是(m,1,k)或者(m,k);如果指定dim=2,输出的形状就是(m,n,1)或者(m,n)。

size中是否有1,取决于参数keepdim,keepdim=True会保留维度1,keepdim默认为False。

3.比较

比较函数中有一些是逐元素比较,操作类似于逐元素操作,还有一些则类似于归并操作。

gt/lt/ge/le/eq/ne        大于/小于/大于等于/小于等于/等于/不等于topk        最大的k个数sort        排序max/min       比较两个tensor的最大值和最小值

如max()函数:

t.max(tensor):返回tensor中最大的一个数。t.max(tensor,dim):指定维度上最大的数,返回tensor和下标。t.max(tensor1,tensor2):比较两个tesor相比最大的元素。 4.线性代数

PyTorch的线性函数主要封装了Blas和Lapack,其用法和接口都与之类似。

trace    对角线元素之和(矩阵的迹)diag    对角线元素triu/tril    矩阵的上三角/下三角,可指定偏移量mm/bmm    矩阵乘法,batch的矩阵乘法addmm/addbmm/addmv    矩阵运算t    转置dot/cross  内积/外积inverse    求逆运算svd    奇异值分解

注意:矩阵的 转置会导致存储空间不连续,需调用它的.contiguous方法将其转为连续。

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3