Tensor的算术运算

Tensor的算术运算

import torch

加法

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和2
print(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_())

sqrt开根号

print(a)
print(torch.sqrt(a))
print(torch.sqrt_(a))
print(a.sqrt())##根号内出现了负数所以结果有nan
print(a.sqrt_())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值