目录
判定tensor是否的某些数值是否为finite/inf/nan(有界性等)
Tensor的加法运算
前三种都是直接相加,第四种带下划线的方式会改变a的值,即a.add_(b)等价于a=a+b
Tensor的乘法运算
相乘的Tensor必须维度完全相同,并且对应的结果为对应元素相乘
Tensor的除法运算
Tensor的矩阵运算
矩阵乘法
二维
高维
高维的矩阵运算要求除最后两个维度需要满足二维矩阵运算性质的行列要求外,剩余前面的维度必须完全相同
Tensor的幂运算-对数运算
可直接执行的代码
以下为可以执行的代码:
import torch
# add运算
a = torch.rand(2, 3)
b = torch.rand(2, 3)
print(a)
print(b)
print(a + b)
print(a.add(b))
print((torch.add(a, b)))
print(a.add_(b))
print(a)
# sub 减法运算
print("------sub------")
print(a - b)
print(a.sub_(b))
print(a)
# 矩阵运算
print("---------矩阵运算----------")
a = torch.ones(2, 1)
b = torch.ones(1, 2)
print(a.matmul(b))
# 高维tensor运算
print("-------high--------")
a = torch.ones(1, 2, 3, 4)
b = torch.ones(1, 2, 4, 3)
print(a.matmul(b))
Tensor的取整/取余运算
代码
import torch
a = torch.rand(2, 2)
a = a * 10
print(a)
print(torch.floor(a))
print(torch.ceil(a))
print(torch.round(a))
print(torch.trunc(a))
print(torch.frac(a))
print(a % 2)
Tensor-比较运算
注意eq与equal的区别!
除了equal运算是返回一个boolen以外,剩余的比较运算均为两个tensor对应的数值一个一个进行比较
代码
import torch
a = torch.rand(2, 3)
b = torch.rand(2, 3)
print(torch.eq(a, b))
print(torch.equal(a, b))
print(torch.ge(a, b))
Tensor的取前k大/小/第k小的数值及其索引
sort:得到的排序输出结果为对应每一维度的原tensor索引值的排序,如下图
代码
import torch
a = torch.rand(2, 5)
print(a)
print(torch.sort(a, descending=True))
# 得到的排序输出结果为对应每一维度的原tensor索引值的排序
判定tensor是否的某些数值是否为finite/inf/nan(有界性等)
可用于数据清洗
也是一个一个数值进行检测的