pytorch文档阅读-05-torch03(数学操作)

东阳的学习记录,坚持就是胜利!

数学操作

  • abs
  • absolute(abs的别名)
  • acos(计算tensor中每个元素的反余弦)
  • acosh(反双曲余弦)
  • add(tensor元素对应相加)
  • addcdiv(tensor, value=1, tensor1, tensor2, out=None) → Tensor(用tensor2对tensor1逐元素相除,然后乘以标量值value 并加到tensor)
  • addcmul(input, tensor1, tensor2, *, value=1, out=None) → Tensor(执行张量1乘以张量2的元素级乘法,将结果乘以标量值,然后将其添加到输入。)
  • angle(输出输入张量的元素角度,以弧度表示)
  • 等等…

比较操作

torch.eq

torch.eq(input, other, out=None) → Tensor

比较元素相等性。第二个参数可为一个数或与第一个参数同类型形状的张量。

返回值: 一个 torch.ByteTensor 张量,包含了每个位置的比较结果(相等为1,不等为0 )
例子:

>>> torch.eq(torch.Tensor([[1, 2], [3, 4]]), torch.Tensor([[1, 1], [4, 4]]))
1  0
0  1
[torch.ByteTensor of size 2x2]

torch.equal

如果两个张量有相同的形状和元素值,则返回True ,否则 False。

>>> torch.equal(torch.Tensor([1, 2]), torch.Tensor([1, 2]))
True

torch.max

不指定维度

返回输入张量所有元素的最大值。

>>> torch.max(torch.tensor([1,2,3,489,1]))
tensor(489)
指定维度

返回输入张量给定维度上的最大值,并同时返回每个最大值的位置索引。

torch.max(input, dim, max=None, max_indices=None) -> (Tensor, LongTensor)

例子:

>>> torch.max(a, 0)
torch.return_types.max(
values=tensor([2.0806, 0.8812, 0.9576, 2.3047]),
indices=tensor([2, 0, 0, 1]))

torch.min

前两种和max一样。但是min还多了一个

torch.min(input, other, out=None) → Tensor
>>> a = torch.randn(4)
>>> a

 1.3869
 0.3912
-0.8634
-0.5468
[torch.FloatTensor of size 4]

>>> b = torch.randn(4)
>>> b

 1.0067
-0.8010
 0.6258
 0.3627
[torch.FloatTensor of size 4]

>>> torch.min(a, b)

 1.0067
-0.8010
-0.8634
-0.5468
[torch.FloatTensor of size 4]

torch.ne

torch.ne(input, other, out=None) → Tensor

逐元素比较input和other , 即是否 input!=other。 第二个参数可以为一个数或与第一个参数相同形状和类型的张量
感觉和eq差不多

>>> torch.ne(torch.Tensor([[1, 2], [3, 4]]), torch.Tensor([[1, 1], [4, 4]]))
 0  1
 1  0
[torch.ByteTensor of size 2x2]

torch.sort

torch.sort(input, dim=None, descending=False, out=None) -> (Tensor, LongTensor)

对输入张量input沿着指定维按升序排序。如果不给定dim,则默认为输入的最后一维。如果指定参数descending为True,则按降序排序

返回元组 (sorted_tensor, sorted_indices) , sorted_indices 为原始输入中的下标。

例子:

>>> x = torch.randn(3, 4)
>>> sorted, indices = torch.sort(x)
>>> sorted

-1.6747  0.0610  0.1190  1.4137
-1.4782  0.7159  1.0341  1.3678
-0.3324 -0.0782  0.3518  0.4763
[torch.FloatTensor of size 3x4]

>>> indices

 0  1  3  2
 2  1  0  3
 3  1  0  2
[torch.LongTensor of size 3x4]

>>> sorted, indices = torch.sort(x, 0)
>>> sorted

-1.6747 -0.0782 -1.4782 -0.3324
 0.3518  0.0610  0.4763  0.1190
 1.0341  0.7159  1.4137  1.3678
[torch.FloatTensor of size 3x4]

>>> indices

 0  2  1  2
 2  0  2  0
 1  1  0  1
[torch.LongTensor of size 3x4]

torch.topk

torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)

沿给定dim维度返回输入张量input中 k 个最大值。 如果不指定dim,则默认为input的最后一维。 如果为largest为 False ,则返回最小的 k 个值。

返回一个元组 (values,indices),其中indices是原始输入张量input中测元素下标。 如果设定布尔值sorted 为_True_,将会确保返回的 k 个值被排序。

参数:

  • input (Tensor) – 输入张量
  • k (int) – “top-k”中的k
  • dim (int, optional) – 排序的维
  • largest (bool, optional) – 布尔值,控制返回最大或最小值(默认True)
  • sorted (bool, optional) – 布尔值,控制返回值是否排序(默认True)
  • out (tuple, optional) – 可选输出张量 (Tensor,
  • LongTensor) output buffers

其他操作

torch.dot

torch.dot(tensor1, tensor2) → float

计算两个张量的点乘(内乘),两个张量都为1-D 向量.

torch.eig

返回特征向量

torch.mm

torch.mm(mat1, mat2, out=None) → Tensor

对矩阵mat1和mat2进行相乘。 如果mat1 是一个n×m 张量,mat2 是一个 m×p 张量,将会输出一个 n×p 张量out。

还有的不常用,就不写了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东阳z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值