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

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 

在这里插入图片描述

b + c

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

a +d

在这里插入图片描述

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)逐元素计算切线。

在这里插入图片描述

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各元素是否不相同,等效!=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值