用如下 a
b
进行运算演示
>>> a
tensor([[0.7967, 0.5056, 0.7963],
[0.8603, 0.7029, 0.7590]])
>>> b
tensor([[0.6923, 0.0411, 0.8713],
[0.0483, 0.2948, 0.3286]])
- 一般加减乘除运算:
add/mimus/multiply/divide
>>> a+b
tensor([[1.4890, 0.5467, 1.6676],
[0.9086, 0.9977, 1.0876]])
>>> a-b
tensor([[ 0.1044, 0.4646, -0.0750],
[ 0.8120, 0.4080, 0.4304]])
>>> a*b
tensor([[0.5516, 0.0208, 0.6938],
[0.0416, 0.2072, 0.2494]])
>>> a/b
tensor([[ 1.1508, 12.3163, 0.9139],
[17.8087, 2.3840, 2.3099]])
- 矩阵相乘:
matmul
>>> a@b.t()
tensor([[1.2662, 0.4492],
[1.2858, 0.4982]])
pow
,sqrt
, exp
, log
>>> a**2
tensor([[0.6348, 0.2557, 0.6341],
[0.7401, 0.4940, 0.5761]])
>>> a**0.5
tensor([[0.8926, 0.7111, 0.8924],
[0.9275, 0.8384, 0.8712]])
>>> torch.exp(a)
tensor([[2.2183, 1.6580, 2.2173],
[2.3638, 2.0196, 2.1362]])
>>> torch.log(a)
tensor([[-0.2272, -0.6819, -0.2278],
[-0.1505, -0.3526, -0.2757]])
- 近似计算:
floor
, ceil
, round
和 裁剪 clamp
>>> a.floor()
tensor([[0., 0., 0.],
[0., 0., 0.]])
>>> a.ceil()
tensor([[1., 1., 1.],
[1., 1., 1.]])
>>> a.round()
tensor([[1., 1., 1.],
[1., 1., 1.]])
>>> a.clamp(0.1, 0.8)
tensor([[0.7967, 0.5056, 0.7963],
[0.8000, 0.7029, 0.7590]])
>>> a.trunc()
tensor([[0., 0., 0.],
[0., 0., 0.]])
>>> a.frac()
tensor([[0.7967, 0.5056, 0.7963],
[0.8603, 0.7029, 0.7590]])