记录深度学习(三)----张量的广播和科学计算

张量的广播和科学计算

  • 1、张量的广播
  • 2、张量的科学计算
    • 2.1、逐点运算
    • 2.2、规约运算
    • 2.3、比较运算

1、张量的广播

张量的广播与numpy中的广播类似,存在以下两种情况:

  • 两个张量至少有一个维度值相同,不同的维度值之中有一个必为1才能广播
  • 两个张量所有的维度都不同时,两个张量其它维度必为1才能广播
a  = torch.zeros(12).reshape(3,4)
b = torch.ones(3).reshape(3,1)
c = torch.ones(3).reshape(1,3)
d = torch.ones(8).reshape(2,4)
a + b 

在这里插入图片描述
将 张量b的列复制4次然后再与a中的每个对应元素相加。

a + c 

记录深度学习(三)----张量的广播和科学计算_第1张图片

b + c

在这里插入图片描述
同时将张量b 的列和c 的行复制3次都变成3行3列的2维张量再进行计算。

a +d

记录深度学习(三)----张量的广播和科学计算_第2张图片

2、张量的科学计算

2.1、逐点运算

记一下下面这2张表即可:

函数 描述
torch.add(t1,t2 ) t1、t2两个张量逐个元素相加,等效于t1+t2
torch.subtract(t1,t2) t1、t2两个张量逐个元素相减,等效于t1-t2
torch.multiply(t1,t2) t1、t2两个张量逐个元素相乘,等效于t1*t2
torch.divide(t1,t2) t1、t2两个张量逐个元素相除,等效于t1/t2
torch.abs(t) 返回绝对值
torch.ceil(t) 向上取整
torch.floor(t) 向下取整
torch.round(t) 四舍五入取整
torch.neg(t) 返回相反数

还有一些常见数学公式的计算

数学运算函数 数学公式 描述
torch.exp(t) = 返回以e为底、t中元素为幂的张量
torch.expm1(t) = - 1 对张量中的所有元素计算exp(x) - 1
torch.exp2(t) =2 逐个元素计算2的t次方。
torch.pow(t,n) out=exponent 返回t的n次幂
torch.sqrt(t) out=input⎯⎯⎯⎯⎯⎯⎯⎯⎯√ 返回t的平方根
torch.square(t) out=2 返回输入的元素平方。
torch.log10(t) =log10() 返回以10为底的t的对数
torch.log(t) =log() 返回以e为底的t的对数
torch.log2(t) =log2() 返回以2为底的t的对数
torch.log1p(t) =log( + 1) 返回一个加自然对数的输入数组。
torch.sin(t) 三角正弦。
torch.cos(t) 元素余弦。
torch.tan(t) 逐元素计算切线。

记录深度学习(三)----张量的广播和科学计算_第3张图片

2.2、规约运算

函数 描述
torch.mean(t) 返回张量均值
torch.var(t) 返回张量方差
torch.std(t) 返回张量标准差
torch.var_mean(t) 返回张量方差和均值
torch.std_mean(t) 返回张量标准差和均值
torch.max(t) 返回张量最大值
torch.argmax(t) 返回张量最大值索引
torch.min(t) 返回张量最小值
torch.argmin(t) 返回张量最小值索引
torch.median(t) 返回张量中位数
torch.sum(t) 返回张量求和结果
torch.logsumexp(t) 返回张量各元素求和结果,适用于数据量较小的情况
torch.prod(t) 返回张量累乘结果
torch.dist(t1, t2) 计算两个张量的闵式距离,可使用不同范式
torch.topk(t) 返回t中最大的k个值对应的指标

2.3、比较运算

函数 描述
torch.eq(t1, t2) 比较t1、t2各元素是否相等,等效==
torch.equal(t1, t2) 判断两个张量是否是相同的张量
torch.gt(t1, t2) 比较t1各元素是否大于t2各元素,等效>
torch.lt(t1, t2) 比较t1各元素是否小于t2各元素,等效<
torch.ge(t1, t2) 比较t1各元素是否大于或等于t2各元素,等效>=
torch.le(t1, t2) 比较t1各元素是否小于等于t2各元素,等效<=
torch.ne(t1, t2) 比较t1、t2各元素是否不相同,等效!=

你可能感兴趣的:(深度学习,pytorch,机器学习)