Pytorch学习之torch----数学操作(二)

1. torch.floor(input, out=None)

说明: 床函数,返回一个新张量,包含输入input张量每个元素的floor,即不小于元素的最大整数。
参数:

  • input(Tensor) – 输入张量
  • out(Tenosr, 可选) – 输出张量
>>> a = torch.randn(4)
>>> torch.floor(a)
tensor([ 0., -1.,  1.,  0.])

2. torch.fmod(input, divisor, out=None)

说明: 计算除法余数。除数与被除数可能同时含有整数和浮点数。此时,余数的正负与被除数相同
参数:

  • input(Tensor) – 被除数
  • divisor(Tensor或float) – 除数,一个数或与被除数相同类型的张量
  • out(Tensor,可选) – 输出张量
>>> torch.fmod(torch.Tensor([-3, -2, -1, 1, 2, 3]), 2)
tensor([-1., -0., -1.,  1.,  0.,  1.])
>>> torch.fmod(torch.Tensor([1, 2, 3, 4, 5]), 1.5)
tensor([1.0000, 0.5000, 0.0000, 1.0000, 0.5000])

3. torch.frac(tensor, out=None)

说明: 返回每个元素的分数部分
参数:

  • tensor(Tensor) – 输入张量,可以是小数也可是整数
  • out(Tensor,可选) – 输出张量
>>> torch.frac(torch.Tensor([1, 2.3, -3.2]))
tensor([ 0.0000,  0.3000, -0.2000])

4. torch.lerp(start, end, weight, out=None)

说明: 对两个张量以start,end做线性插值,将结果返回到输出张量。即out = start + weight * (end - start).
参数:

  • start(Tensor) – 起始点张量
  • end(Tensor) – 终止点张量
  • weight(float) – 插值公式的weight
  • out(Tensor,可选) – 结果张量
>>> start = torch.arange(1., 5.)
>>> end = torch.empty(4).fill_(10)
>>> start
tensor([1., 2., 3., 4.])
>>> end
tensor([10., 10., 10., 10.])
>>> torch.lerp(start, end, 0.5)
tensor([5.5000, 6.0000, 6.5000, 7.0000])

5. torch.log(input, out=None)

说明: 计算input的自然对数
参数:

  • input(Tensor) – 输入张量
  • out(Tensor, 可选) – 输出张量
>>> a = torch.randn(5)
>>> a
tensor([-1.1601, -0.8747,  0.2048,  1.8377,  0.2801])
>>> torch.log(a)
tensor([    nan,     nan, -1.5856,  0.6085, -1.2725])

6. torch.log1p(input, out=None)

说明: 计算input+1的自然对数,对值比较小的输入,此函数比torch.log()更准确
参数:

  • input(Tensor) – 输入张量
  • out(Tensor,可选) – 输出张量
>>> a = torch.randn(6)
>>> a
tensor([ 0.4177,  0.7744, -1.8840,  0.3302,  1.7383, -0.1667])
>>> torch.log1p(a)
tensor([ 0.3490,  0.5735,     nan,  0.2854,  1.0073, -0.1824])

7. torch.mul(input, value, out=None)

说明: 用标量值value乘以输入input的每个元素,并返回一个新的结果张量。out = tensor * value
参数:

  • input(Tensor) – 输入张量
  • value(Number) – 乘到每个元素的数
  • out(Tensor,可选) – 输出张量
>>> a = torch.randn(4)
>>> a
tensor([-1.7720, -0.8593, -0.0354, -0.0747])
>>> torch.mul(a, 100)
tensor([-177.2037,  -85.9287,   -3.5436,   -7.4714])

8. torch.mul(input, other, out=None)

说明: 两个张量input,other按元素进行相乘,并返回输出张量
参数:

  • input(Tensor) – 第一个相乘张量
  • other(Tensor) – 第二个相乘张量
  • out(Tensor,可选) – 结果张量
>>> a = torch.randn(4, 4)
>>> b = torch.randn(4, 4)
>>> torch.mul(a, b)
tensor([[ 0.1404, -0.3859,  1.9077,  0.7873],
        [-1.5376, -0.7447,  1.6224, -0.3152],
        [-0.0610,  0.2805, -0.0194,  0.4091],
        [-0.0842,  0.1382, -0.1696,  0.0576]])

9. torch.neg(input, out=None)

说明: 返回一个新张量,包含输入input张量按元素取负。out = -1 * input
参数:

  • input(Tensor) – 输入张量
  • out(Tensor, 可选) – 输出张量
>>> a = torch.randn(5)
>>> a
tensor([ 0.8791, -0.5795, -1.1354,  0.4425, -0.1631])
>>> torch.neg(a)
tensor([-0.8791,  0.5795,  1.1354, -0.4425,  0.1631])

10. torch.pow(input, exponent, out=None)

说明: 对输入input按元素求exponent次幂值,并返回结果张量,幂值exponent可以为标量也可以是和input相同大小的张量。
参数:

  • input(Tensor) – 输入张量
  • exponent(float or Tensor) – 幂值
  • out(Tensor, 可选) – 输出张量
>>> a = torch.randn(4)
>>> a
tensor([-0.2202,  0.0814, -0.0079, -0.7530])
>>> torch.pow(a, 2)
tensor([4.8492e-02, 6.6341e-03, 6.1897e-05, 5.6697e-01])

11. torch.pow(base, input, out=None)

说明: base为标量浮点值,input为张量,返回的输出张量out与输出张量相同形状。执行操作
参数:

  • base(float) – 标量值,指数的底
  • input(Tensor) – 幂值
  • out(Tensor, 可选) – 输出张量
>>> exp = torch.arange(1, 5)
>>> base = 2
>>> torch.pow(base, exp)
tensor([ 2,  4,  8, 16])

   转载规则


《Pytorch学习之torch----数学操作(二)》 G&L 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Pytorch学习之torch----数学操作(三) Pytorch学习之torch----数学操作(三)
1. torch.reciprocal(input, out=None)说明: 返回一个新张量,包含输入input张量每个元素的倒数。参数: input(Tensor) – 输入张量 out(Tensor, 可选) – 输出张量 >>>
2019-06-23
下一篇 
Pytorch学习之torch----数学操作(一) Pytorch学习之torch----数学操作(一)
1. torch.abs(input, out=None)说明: 计算输入张量的每个元素绝对值参数: input(Tensor) – 输入张量 out(可选) – 输出 >>> import torch >>> torch.abs(to
2019-06-23
  目录