pytorch 基本数学运算

pytorch中的运算遵循其Broadcasting规则,这里不详细解释。

    目录

1. 矩阵对应位置加减乘除

2. 矩阵相乘 

3. 幂运算

3. 指数与对数运算

4. 近似取值(向上取整,向下取整,四舍五入,取小数等) 

5. clamp


1. 矩阵对应位置加减乘除

包括add(加),sub(减),mul(乘),div(除),pytorch中重载了加减乘除的运算符号:

首先先创建两个tensor

pytorch 基本数学运算_第1张图片

加法,add与+结果一致:

pytorch 基本数学运算_第2张图片pytorch 基本数学运算_第3张图片

减法,sub与-结果一致:

pytorch 基本数学运算_第4张图片pytorch 基本数学运算_第5张图片

同理,mul与*,对应乘法运算,div与/ 对应除法运算。

2. 矩阵相乘 

上面使用的mul与*,对应的是两个tensor对应位置的数字相乘,接下来介绍矩阵相乘的方法:

pytorch 基本数学运算_第6张图片

torch.mm(a,b), 只适用于二维,其他会报错

pytorch 基本数学运算_第7张图片

torch.matnul(a,b)适用与所有符合运算规则的乘法。

且 可以使用@符号与matnul等价

pytorch 基本数学运算_第8张图片

pytorch 基本数学运算_第9张图片

多维相乘相当于多个二维相乘:

pytorch 基本数学运算_第10张图片

相乘时候需要注意 Broadcasting 规则

3. 幂运算

pow 与 ** 同运算

创建tensor,以及a的二次方。

     pytorch 基本数学运算_第11张图片 pytorch 基本数学运算_第12张图片  pytorch 基本数学运算_第13张图片

sqrt 表示平方根,也就是0.5次方

pytorch 基本数学运算_第14张图片 pytorch 基本数学运算_第15张图片

3. 指数与对数运算

torch.exp(a) 表示e的a次方:

pytorch 基本数学运算_第16张图片

torch.log(a) 表示e为底进行计算:

pytorch 基本数学运算_第17张图片

4. 近似取值(向上取整,向下取整,四舍五入,取小数等) 

round() 四舍五入。

pytorch 基本数学运算_第18张图片pytorch 基本数学运算_第19张图片

floor()  向下取整,ceil()  向上取整。

 

pytorch 基本数学运算_第20张图片pytorch 基本数学运算_第21张图片

trunc() 取整数部分,frac() 取小数部分。

pytorch 基本数学运算_第22张图片pytorch 基本数学运算_第23张图片

 注意这些函数,都有对应的 round_(), floor_(), ceil_(), trunc_(), frac_() , 会对 tensor 本身的值进行更改。

5. clamp

 clamp会对tensor中的数据进行筛选,需要传入最小值最大值参数,如果只传入一个参数,则默认为最小值

pytorch 基本数学运算_第24张图片

可见,小于最小值的数值将改变,如果同时也传入了最大值参数,大于最大值的也将会进行改变

pytorch 基本数学运算_第25张图片pytorch 基本数学运算_第26张图片

同样的也有对应的clamp_()函数,会对对象本身的值进行更改。

你可能感兴趣的:(pytorch,pytorch)