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)print(a.add_(b))print(a)
sub
print("=== sub res ===")print(a - b)print(torch.sub(a, b))print(a.sub(b))print(a.sub_(b))print(a)
mul
print("=== mul ===")print(a * b)print(torch.mul(a, b))print(a.mul(b))print(a)print(a.mul_(b))print(a)
dev
print("=== div ===")print(a /b)print(torch.div(a, b))print(a.div(b))print(a.div_(b))print(a)
matmul 矩阵乘法
print("==== matmul ====")
a = torch.ones(2,1)
b = torch.ones(1,2)print(a @ b)print(a.matmul(b))print(torch.matmul(a, b))print(torch.mm(a, b))print(a.mm(b))
高维tensor
print("=== ====")
a = torch.ones(1,2,3,4)
b = torch.ones(1,2,4,3)print(a.matmul(b))print(a.matmul(b).shape)##只计算最后两个维度,前两个维度不变
指数运算pow
a = torch.tensor([1,2])##定义a的值是1和2print(torch.pow(a,3))print(a.pow(3))print(a**3)print(a.pow_(3))print(a)
exp 自然常数e
# a = torch.tensor([1, 2])##exp不支持这种形式的输入
a = torch.tensor([1,2], dtype=torch.float32)##exp不支持这种形式的输入,可以改成float形print(a.type())print(torch.exp(a))print(torch.exp_(a))print(a.exp())print(a.exp_())
log
a = torch.tensor([10,2], dtype=torch.float32)print(torch.log(a))print(torch.log_(a))print(a.log())print(a.log_())