【人工智能概论】 PyTorch中的topk、expand_as、eq方法

【人工智能概论】 PyTorch中的topk、expand_as、eq方法


一. topk方法

1.1 简介

  • 对PyTorch中的tensor类型的数据都存在topk方法,其功能是按照要求取前k个最大值。
  • 其最常用的场合就是求一个样本被网络认为的前k种可能的类别。
  • 举例:
data = torch.tensor(
                [[1,2,3],
                 [1,5,4],
                 [9,7,5]]
)
print(data)
data_topk , index_topk = data.topk(2,1,True,True)
print(data_topk)
print(index_topk)

在这里插入图片描述

1.2 参数详解

torch.topk(input, k, dim=None, largest=True, sorted=True, out=None)

  • 其中:
  • input: 是待处理的tensor数据;
  • k: 指明要前k个数据及其index;
  • dim: 指定在什么维度上排序,默认最后一维;
  • largest: 如果为True,按照降序排序,如果为False,按照升序排序;
  • sorted: 返回的结果是否按照顺序排列;
  • out: 可缺省,不要。

二. expand_as方法

  • 用来扩展tensor中某维数据的尺寸,将输入tensor的维度扩展为与指定tensor相同的尺寸。
  • 举例:
import torch

a = torch.tensor([[2], [3], [4]])
print(a)
b = torch.tensor([[2, 2], [3, 3], [5, 5]])
print(b.size())
c = a.expand_as(b)
print(c)
print(c.size())

在这里插入图片描述

三. eq方法

  • torch.eq(tensor1, tensor2, out=None) || tensor1.eq(tensor2,out=None):tensor1对应的元素等于tensor2的元素会返回True,否则返回False。参数out表示为一个数或者是与第一个参数相同形状和类型的tensor。
  • 举例:
Matrix_A = torch.tensor([1,2,3,4,5,3,1])
Matrix_B = torch.tensor([2,1,3,1,5,2,0])
print(Matrix_A.eq(Matrix_B))

猜你喜欢

转载自blog.csdn.net/qq_44928822/article/details/131362008