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

相关推荐
Agent产品评测局1 分钟前
集团型企业自动化落地,如何实现多分支统一管控?——企业级智能体架构与选型深度实测
运维·人工智能·ai·chatgpt·架构·自动化
hans汉斯2 分钟前
【计算机科学与应用】面向警务业务的数据可视化处理平台设计与实现
人工智能·yolo·信息可视化·数据挖掘·区块链·汉斯出版社
芯盾时代3 分钟前
“十五五”规划纲要人工智能安全与治理政策深度解读
人工智能·安全·信息安全
康康的AI博客3 分钟前
深度:GPT-5.4实测,AI已自带“手脚”控电脑,这种混搭用法火了!
人工智能·gpt
code 小楊4 分钟前
Qwen3.5-Omni与Qwen3.6模型全面解析(含测评/案例/使用教程)
人工智能·开源
陈永坤4 分钟前
一文讲透:AI水印移除原理 + 图像/视频去水印完整实现方案(附实战工具)
人工智能·音视频
deep_drink4 分钟前
1.1、Python 与编程基础:开发环境、基础工具与第一个 Python 项目
开发语言·人工智能·python·llm
峡谷电光马仔4 分钟前
要成为AI的主人,而不是被它所绑架
人工智能·chatgpt·ai编程·ai红线·清醒的使用ai
IvanCodes4 分钟前
ClaudeCode 源码泄露,事情没那么简单
人工智能·ai编程·claude
禾小西6 分钟前
Spring AI 流式输出底层原理解析
java·人工智能·spring