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函数找到最大的两个值及其索引和最小的两个值及其索引,并打印出结果。

相关推荐
鸿芯微控科技1 分钟前
MFC质量流量控制器流量不准怎么排查?设定值、反馈值与参考流量对比,附Python代码
c++·python·mfc
龙亘川5 分钟前
亘川智慧城市一网统管平台2026年7月版本更新
人工智能·智慧城市·开源软件·csdn开发云·gitcode
大尚来也6 分钟前
用 Python 自动整理文件、重命名、分类电脑文件夹
开发语言·python
雾沉川7 分钟前
LiteUI-Studio 低配显卡 AI 视频生成工具完整技术介绍与标准化部署教程
人工智能·大模型·文生图·liteui-studio
2601_950790688 分钟前
2026年八字排盘APP选择攻略:AI解读技巧、新手复盘方法与天乙八字排盘App全维度实测
人工智能·天乙八字排盘·命枢
openYuanrong分布式计算引擎12 分钟前
openYuanrong 打造 Agent 时代的企业级分布式底座
人工智能·分布式·ai·serverless
云端漫步198714 分钟前
HarmonyOS NEXT AI 智能生活助手:PromptManager 设计与实现
人工智能·生活·harmonyos
我是大卫24 分钟前
从零到答辩全链路:花1小时用TRAE Work搞定100页案例报告+40页答辩PPT
人工智能·trae
极序时代GEO品牌优化32 分钟前
杭州极序时代|面向地域、设备与用户画像的动态GEO
人工智能·python·算法·极序时代geo
崔高杰33 分钟前
【自动阅读笔记】Inference-Time Scaling for Generalist Reward Modeling
人工智能·笔记·机器学习