pytorch torch.topk函数介绍

在 PyTorch 中,torch.topk函数用于在输入张量中找到最大的k个值及其索引。

一、函数语法

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

  • input:输入张量。
  • k:要返回的最大或最小元素的数量。
  • dim(可选):要进行操作的维度。如果为None,则在扁平的输入张量上进行操作。
  • largest(可选):如果为True,则返回最大的k个值;如果为False,则返回最小的k个值。
  • sorted(可选):如果为True,则返回的k个值将按降序(如果largest=True)或升序(如果largest=False)排列;如果为False,则返回的k个值的顺序是未定义的。
  • out(可选):输出张量,可以是一个已存在的张量,用于存储结果。

二、返回值

该函数返回一个包含两个张量的元组:

  1. 第一个张量是包含最大或最小的k个值的张量。
  2. 第二个张量是包含这些值在输入张量中的索引的张量。

三、使用示例

复制代码
import torch

# 创建一个二维张量
tensor = torch.tensor([[4, 2, 3], [1, 5, 6]])

# 找到每行中的最大的两个值及其索引
values, indices = torch.topk(tensor, k=2, dim=1, largest=True)
print("最大的两个值:", values)
print("对应的索引:", indices)

# 找到每列中的最小的两个值及其索引
values, indices = torch.topk(tensor, k=2, dim=0, largest=False)
print("最小的两个值:", values)
print("对应的索引:", indices)

在上述示例中,首先创建了一个二维张量。然后,分别在行维度和列维度上使用torch.topk函数找到最大的两个值及其索引和最小的两个值及其索引,并打印出结果。

相关推荐
成为深度学习高手8 小时前
CrossLinear:即插即用的跨相关嵌入,让线性模型也能用好外生变量
人工智能·python·深度学习·数据挖掘
听我哔哔8 小时前
AI漫剧推文短视频音频后期处理链路:从原始配音到成片音轨
人工智能·ai漫剧·漫剧制作·ai 漫剧
adinnet20269 小时前
向量检索为什么能快速响应?HNSW 与 IVF_FLAT 索引怎么选
大数据·人工智能
百度Geek说9 小时前
什么样的业务经验值得做成 Agent:从个人工具到组织资产
人工智能
欣欣之王来了9 小时前
面试指南:执行式AI岗位真题解析
人工智能
墨天梦9 小时前
25-评估指标与基准设计
人工智能·自然语言处理
烈风逍遥9 小时前
第七篇:提示词模板管理与 Agent 提示词编排
前端·人工智能·后端
橘和柠9 小时前
AI-Infra-Guard 部署与技能扫描实战:Docker 一键起,附我的一次“漏报”复盘
人工智能
茵Cindy9 小时前
从RPA到Agent:HR流程自动化的架构演进与选型建议
人工智能·ai+hr·hr智能体
m4Rk_9 小时前
【论文阅读】Agent 记忆机制(77):TSM——让记忆回到事件真正发生的时间
论文阅读·人工智能·学习·开源·github